* sigproc.cc (pending_signals::add): Properly maintain linked list.

(wait_sig): Use already calculated 'next' element when signal is blocked.
This commit is contained in:
Christopher Faylor 2013-08-30 15:44:57 +00:00
parent 6585330779
commit c5abf768f9
2 changed files with 9 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2013-08-30 Christopher Faylor <me.cygwin2013@cgf.cx>
* sigproc.cc (pending_signals::add): Properly maintain linked list.
(wait_sig): Use already calculated 'next' element when signal is
blocked.
2013-08-26 Corinna Vinschen <corinna@vinschen.de>
* mtinfo.h (class mtinfo_part): Change type of block numbers to int64_t.

View File

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