Suspected race in forkd

Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6153

Reported by Martin Stjernholm mast@roxen.com

Running the roxen testsuite, pike sometimes get stuck in a busyloop:

>> /home/mast/Pike/stable/lib/modules/Process.pmod:336: Process.Process()->do_poll(3600.0)
>> /home/mast/Pike/stable/lib/modules/Process.pmod:372: Process.Process()->wait()
>> modules/sitebuilder/pike-modules/VC.pmod/CVS.pmod/CVS.pike (rev 1.51):163: VC.CVS.CVS()->command2(0,({"/home/mast/Roxen/5.2/server/modules/sitebuilder/bin/cvs","-!","-f","-q","-d:local:/home/mast/Roxen/5.2/var/test_repository/Test_Platform.sb/cvsroot","add","-kb","__info"}),0)
>> modules/sitebuilder/pike-modules/VC.pmod/CVS.pmod/file.pike (rev 1.108):452: VC.CVS.file()->add(UNDEFINED)
/.../

It looks like the busyloop is the while block in Process.Process.wait. forkd is enabled and the forkd process did not have the cvs process running anymore.

The hang is not reliably reproducible, but I get it approximately once every fourth testsuite run.

This is with a git fresh pike 7.8.613.