Hi, On Julio's request I was looking at the now-failing tests and resulting hanging processes. Basically at least on i386 the failures are a result of fork() + setcontext() (plus some voodoo) after which calling pthread_mutex_lock() with signals masked causes a busyloop due to pthread__self() causing a segv but the signal never getting delivered (that in itself seems like stinky business, but not the motivating factor of this mail).
Per 4am intuition it seems pretty obvious that a child should inherit the forking lwp's private data. Does that make sense to everyone else? At least patching fork1() to do so fixes the hanging processes and failing tests and a quick roll around qemu hasn't caused any problems. If it doesn't make sense, I'll disable the pthread bits (per commit guideline clause 5) until support is fully fixed so that others don't have to suffer from untested half-baked commits causing juju hangs and crashes. -- älä karot toivorikkauttas, kyl rätei ja lumpui piisaa