* 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> 2009-08-01 Christopher Faylor <me+cygwin@cgf.cx>
* cygheap_malloc.h: New file. * cygheap_malloc.h: New file.

View File

@ -1041,8 +1041,9 @@ stopped_or_terminated (waitq *parent_w, _pinfo *child)
int terminated; int terminated;
if (!((terminated = (child->process_state == PID_EXITED)) || if (!((terminated = (child->process_state == PID_EXITED))
((w->options & (WUNTRACED | WCONTINUED)) && child->stopsig))) || ((w->options & WCONTINUED) && child->stopsig == SIGCONT)
|| ((w->options & WUNTRACED) && child->stopsig && child->stopsig != SIGCONT)))
return false; return false;
parent_w->next = w->next; /* successful wait. remove from wait queue */ 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) if (!terminated)
{ {
sigproc_printf ("stopped child"); sigproc_printf ("stopped child, stopsig %d", child->stopsig);
if (child->stopsig == SIGCONT) if (child->stopsig == SIGCONT)
w->status = __W_CONTINUED; w->status = __W_CONTINUED;
else else

View File

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