Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Deadlock when receiving kill-signal from child process



On Tue, Aug 11, 2015 at 6:07 PM, Bart Schaefer wrote:
>
> This looks like we're waiting for a non-existent job again.  Last time
> it was the strace output that pointed to the culprit, because here the
> call stack has most likely grown and shrunk several times before the
> blocking waitjobs() is finally called.
>
> execpline() already does queue_signals() around its only waitjobs(),
> and zwaitjob() runs the signal queue before checking the status of
> jobs, so the following is a bit of a shot in the dark, rearranging
> the order in which SIGCHILD and the queues are managed.  I think it's
> probably better to do it in this order anyway, I was undecided about
> it when I initially made the patches.

That seems to have done it, can't reproduce anymore!



Messages sorted by: Reverse Date, Date, Thread, Author