tcsh hangs in sigsuspend



Hi. I can no longer do simple things like

kill `cat pidfile`

in tcsh.

After some debugging I noticed that tcsh hangs in sigsuspend in line 512 of sh.proc.c. So I guess it (tcsh) executed 'cat pidfile', and now waits for the process to terminate. But unless I'm not looking properly, there appears to be a race condition here. Tcsh blocks the SIGCHLD signal *after* it forks the child, not before. So the child could wel have exited between the call to fork and the call to sigprocmask. In that case, would not the sigsuspend hang forever?

Also, I noticed that gdb gets very confused if I try to debug tcsh with a backticked command like the one above. (I guess this is the same as bin/112408)

Cheers
Michiel
_______________________________________________
freebsd-current@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@xxxxxxxxxxx"



Relevant Pages