On 6/20/05, Charles Sprickman <[EMAIL PROTECTED]> wrote: > Hello, > > Just curious if there's any regulars here who would like to help Ethan > out: > [snip] > > ... It happens when the main thread forks to execute an active > check. On the second fork to create the grandchild, the grandchild is > created by fork, but never returns from liblthread's fork wrapper, because > it's stuck in __pthread_acquire(). Maybe some FreeBSD users can help out > with this problem." >
IIRC, doing any significant work in a forked child of a multithreaded process is somewhat ill defined. From SusV3's description of "fork()" > ... Consequently, to avoid errors, the child process may only execute > async-signal-safe operations until such time as one of the exec > functions is called. (This behaviour would extend to a grandchild.) A comment in libpthread/thr_kern.c refers to this, so I think there's at least some assumptions that the child won't be doing much before execing or exiting. (But Im sure one of the implementors will pipe up if I'm wrong :-)) _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"