Fix potential endless loop in pending_signals::clear
* sigproc.cc (pending_signals::clear): Fix previous fix resulting in yet another endless loop. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
parent
0a4019eed2
commit
0ed1523470
|
@ -1,3 +1,8 @@
|
|||
2015-11-03 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* sigproc.cc (pending_signals::clear): Fix previous fix resulting in
|
||||
yet another endless loop.
|
||||
|
||||
2015-11-02 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* include/netinet/ip.h (MAX_IPOPTLEN): Define.
|
||||
|
|
|
@ -402,16 +402,11 @@ sig_clear (int sig)
|
|||
void
|
||||
pending_signals::clear (_cygtls *tls)
|
||||
{
|
||||
sigpacket *q = &start, *qnext;
|
||||
sigpacket *q, *qnext;
|
||||
|
||||
while ((qnext = q->next))
|
||||
{
|
||||
if (qnext->sigtls == tls)
|
||||
{
|
||||
q->next = qnext->next;
|
||||
qnext->si.si_signo = 0;
|
||||
}
|
||||
}
|
||||
for (q = &start; (qnext = q->next); q->next = qnext->next)
|
||||
if (qnext->sigtls == tls)
|
||||
qnext->si.si_signo = 0;
|
||||
}
|
||||
|
||||
/* Clear pending signals of specific thread. Called from _cygtls::remove */
|
||||
|
|
Loading…
Reference in New Issue