* 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:
Christopher Faylor 2009-08-02 21:38:40 +00:00
parent fafbf75509
commit ff7b364c12
3 changed files with 11 additions and 4 deletions

View File

@ -1,3 +1,9 @@
2009-08-02 Christopher Faylor <me+cygwin@cgf.cx>
* sigproc.cc (stopped_or_terminated): Don't return a match when stopsig
== SIGCONT and not WCONTINUED.
* termios.cc (tcsetpgrp): Improve debugging output.
2009-08-01 Christopher Faylor <me+cygwin@cgf.cx>
* cygheap_malloc.h: New file.

View File

@ -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

View File

@ -220,7 +220,7 @@ tcsetpgrp (int fd, pid_t pgid)
else
res = cfd->tcsetpgrp (pgid);
termios_printf ("%d = tcsetpgrp (%d, %x)", res, fd, pgid);
termios_printf ("%d = tcsetpgrp (%d, %d)", res, fd, pgid);
return res;
}