* sigproc.cc (stopped_or_terminated): Don't return a match when stopsig ==
SIGCONT and not WCONTINUED. * termios.cc (tcsetpgrp): Improve debugging output.
This commit is contained in:
@ -1041,8 +1041,9 @@ stopped_or_terminated (waitq *parent_w, _pinfo *child)
|
||||
|
||||
int terminated;
|
||||
|
||||
if (!((terminated = (child->process_state == PID_EXITED)) ||
|
||||
((w->options & (WUNTRACED | WCONTINUED)) && child->stopsig)))
|
||||
if (!((terminated = (child->process_state == PID_EXITED))
|
||||
|| ((w->options & WCONTINUED) && child->stopsig == SIGCONT)
|
||||
|| ((w->options & WUNTRACED) && child->stopsig && child->stopsig != SIGCONT)))
|
||||
return false;
|
||||
|
||||
parent_w->next = w->next; /* successful wait. remove from wait queue */
|
||||
@ -1050,7 +1051,7 @@ stopped_or_terminated (waitq *parent_w, _pinfo *child)
|
||||
|
||||
if (!terminated)
|
||||
{
|
||||
sigproc_printf ("stopped child");
|
||||
sigproc_printf ("stopped child, stopsig %d", child->stopsig);
|
||||
if (child->stopsig == SIGCONT)
|
||||
w->status = __W_CONTINUED;
|
||||
else
|
||||
|
Reference in New Issue
Block a user