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>
|
2015-11-02 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* include/netinet/ip.h (MAX_IPOPTLEN): Define.
|
* include/netinet/ip.h (MAX_IPOPTLEN): Define.
|
||||||
|
|
|
@ -402,16 +402,11 @@ sig_clear (int sig)
|
||||||
void
|
void
|
||||||
pending_signals::clear (_cygtls *tls)
|
pending_signals::clear (_cygtls *tls)
|
||||||
{
|
{
|
||||||
sigpacket *q = &start, *qnext;
|
sigpacket *q, *qnext;
|
||||||
|
|
||||||
while ((qnext = q->next))
|
for (q = &start; (qnext = q->next); q->next = qnext->next)
|
||||||
{
|
if (qnext->sigtls == tls)
|
||||||
if (qnext->sigtls == tls)
|
qnext->si.si_signo = 0;
|
||||||
{
|
|
||||||
q->next = qnext->next;
|
|
||||||
qnext->si.si_signo = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Clear pending signals of specific thread. Called from _cygtls::remove */
|
/* Clear pending signals of specific thread. Called from _cygtls::remove */
|
||||||
|
|
Loading…
Reference in New Issue