Re: vfork failing

H. Peter Anvin (hpa@transmeta.com)
16 Mar 1999 21:56:43 GMT


Followup to: <19990316205849.A237@bug.ucw.cz>
By author: Pavel Machek <pavel@bug.ucw.cz>
In newsgroup: linux.dev.kernel
>
> Hi!
>
> Pilot error. I had limit 256 of proccesses for each user, which was
> easily exhausted by this. Kernel reports ENOMEM in such case, which is
> I believe wrong. ENOMEM4U would be much better, EPERM seems
> reasonable. Any comments? Do I break posix? (I'm not sending it to
> linus. Yet.)
>

It should be EAGAIN, per POSIX 1003.1-1996 section 3.1.1.4:

3.1.1.4 Errors

If any of the following conditions occur, the fork() shall return -1
and set errno to the corresponding value:

[EAGAIN] The system lacked the necessary resources to create
another process, or the system-imposed limit on the
total number of processes under execution by a single
user would be exceeded.

For each of the following conditions, if the condition is detected,
the fork() shall return -1 and set errno to the corresponding value:

[ENOMEM] The process requires more space than the system is
able to supply.

-hpa

-- 
"Linux is a very complete and sophisticated operating system.  There
are, and will be, large numbers of applications available for it."
    -- Paul Maritz, Group Vice President for Platforms And Applications,
       Microsoft Corporation [Reference at: http://www.kernel.org/~hpa/ms.html]

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/