On Sun, Aug 27, 2000 at 07:33:22PM -0700, Linus Torvalds wrote:
> In article <20000827175449.A7759@hq.fsmlabs.com>,
> <yodaiken@fsmlabs.com> wrote:
> >
> >In the POSIX spec fork demolishes all threads in the child. This is the
> >only sensible answer and it seems wasteful to ignore the rare sensible
> >parts of the POSIX spec.
>
> What?
I said it poorly. In the POSIX spec, the child is born single threaded.
To quote:
16) A process is created with a single thread. If a multithreaded process
calls fork(), the new process shall contain a replica of the calling
thread and its entire address space, possibly including the states of
mutexes and other resources. Consequently, to avoid errors,
the child process may only execute async-signal safe operations
(see 3.3.1.3) until such time as one of the exec functions is called.
If {_POSIX_THREADS} is defined, fork handlers may be established
by means of the pthread_atfork() function in order to maintain
qpplication invariants across fork() calls.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Thu Aug 31 2000 - 21:00:20 EST