FreeBSD deadlock (with fork?)
naylor.b.david at gmail.com
Thu Sep 18 19:22:49 UTC 2008
On Thursday 18 September 2008 18:23:22 you wrote:
> David Naylor wrote:
> > Hi,
> > I have a program that spawns a lot of subprocesses (with pipes open) from
> > multiple threads. The problem is the program often deadlocks, but not
> > consistently. Sometimes the program can run over 5 times to competition
> > without incidence and yet othertimes it locks within a few seconds.
> you sent this to -current. Is it in -current? (we fixed something like
> this some months back in current and 7)
-current cvsuped about Tuesday.
> do your post-fork processes do an exec? according to the spec they
Yes, they do. See the other replies...
> if any of your threads other than the one that did the fork ho;ds any
> mutex at teh time of fork then your process will hang. If they hold a
> umtx (between processes) then everything will hang.
Yes, the system does make use of mutexes. The forking thread never holds a
mutex but other threads could hold a mutex. This would explain the problem.
Is there any way to get around it (i.e. make sure no mutexes are held when a
fork is called?)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 187 bytes
Desc: This is a digitally signed message part.
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20080918/4de6045c/attachment.pgp
More information about the freebsd-current