From c5abf768f9d9cacdddcecdc20b366513cbf91b8c Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Fri, 30 Aug 2013 15:44:57 +0000 Subject: * sigproc.cc (pending_signals::add): Properly maintain linked list. (wait_sig): Use already calculated 'next' element when signal is blocked. --- winsup/cygwin/sigproc.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'winsup/cygwin/sigproc.cc') diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index 80a6fff1c..a2a2edd33 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -1190,7 +1190,7 @@ pending_signals::add (sigpacket& pack) if (se->si.si_signo) return; *se = pack; - se->next = NULL; + se->next = start.next; start.next = se; } @@ -1276,7 +1276,7 @@ wait_sig (VOID *) } } break; - default: + default: /* Normal (positive) signal */ if (pack.si.si_signo < 0) sig_clear (-pack.si.si_signo); else @@ -1293,7 +1293,7 @@ wait_sig (VOID *) while ((qnext = q->next)) { if (qnext->si.si_signo && qnext->process () <= 0) - q = q->next; + q = qnext; else { q->next = qnext->next; -- cgit v1.2.3