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 > should. 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?)
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:35 UTC