tcsh hangs in sigsuspend
Rui Paulo
rpaulo at fnop.net
Sat Jun 30 15:25:41 UTC 2007
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
More information about the freebsd-current
mailing list