On Sat, Jun 30, 2007 at 04:41:42PM +0200, Michiel Boland wrote: > 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) > I suspect it is the same problem. Unfortunately, the author of tcsh does not have a publicly available source tree, so one cannot determine if the problem is fixed. It looks like you've managed to go beyond the limited debugging I did in bin/112408. Hopefully, this gets addressed before 7.0 is released. -- SteveReceived on Sat Jun 30 2007 - 13:05:43 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:13 UTC