tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

inheriting the lwp private area



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


Home | Main Index | Thread Index | Old Index