sprshd sometimes doesn't detect termination correctly
Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=177
Reported by @grubba
When the spawned tpike dies with:
/home/build/autobuild/nt4_build/pike7.1-20000831142409.tar/build/windows_nt-x86/tpike
-DNOT_INSTALLED
-m/home/build/autobuild/nt4_build/pike7.1-20000831142409.tar/build/windows_nt-x86/master.pike
/home/build/autobuild/nt4_build/pike7.1-20000831142409.tar/bin/mktreeopt.pike
/home/build/autobuild/nt4_build/pike7.1-20000831142409.tar/src/treeopt.in
|| ( mv
/home/build/autobuild/nt4_build/pike7.1-20000831142409.tar/build/windows_nt-x86/tpike
/home/build/autobuild/nt4_build/pike7.1-20000831142409.tar/build/windows_nt-x86/tpike.bug
; exit 1 )
\build\autobuild\nt4_build\pike7.1-20000831142409.tar\src\backend.c:250:
Fatal error:
Couldn't create backend wakup pipe! errno=10014.
No stack - no backtrace.
sprshd doesn't signal it correctly to the client, so the client hangs in a read(4):
# /usr/proc/bin/ptree 3872
3872 /bin/bash ./megalon_nt4.sh_
3873 pike nt4.pike
9631 /bin/sh -c make > output_make 2>&1
9632 make
10274 /bin/sh -c builddir="build/`uname -srm|sed -e 's/ /-/g'|tr
'[A-Z]
10309 make MAKE=make MAKE_PARALLEL= all
23121 /bin/sh -c make pike
23122 make pike
23323 /bin/sh -c make las.o builtin_functions.o peep.o
23324 make las.o builtin_functions.o peep.o
23484 /bin/sh -c
/home/build/autobuild/nt4_build/pike7.1-20
23485 /usr/local/bin/pike
/home/build/autobuild/nt4_build
# truss -p 23485
read(3, 0x002FCCEC, 4) (sleeping...)
signotifywait() (sleeping...)
lwp_sema_wait(0xFEF0DE30) (sleeping...)
lwp_cond_wait(0xFF3A55B0, 0xFF3A55C0, 0xFF045BF0) (sleeping...)
door_return(0x00000000, 0, 0x00000000, 0) (sleeping...)
^C