Date: Sat, 30 Jun 2007 16:25:29 +0100 From: Rui Paulo <rpaulo@fnop.net> To: Steve Kargl <sgk@troutmask.apl.washington.edu> Cc: Michiel Boland <michiel@boland.org>, freebsd-current@freebsd.org Subject: Re: tcsh hangs in sigsuspend Message-ID: <86zm2hv506.wl%rpaulo@fnop.net> In-Reply-To: <20070630150448.GA70741@troutmask.apl.washington.edu> References: <Pine.GSO.4.64.0706301632320.29496@neerbosch.nijmegen.internl.net> <20070630150448.GA70741@troutmask.apl.washington.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
At Sat, 30 Jun 2007 08:04:48 -0700, Steve Kargl wrote: > > 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. But you can consult the bug tracking system at http://bugs.gw.com/ Hope this helps. -- Rui Paulo
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86zm2hv506.wl%rpaulo>