lwp: Fix unsafe update of LwpSigCaught
lwpCatchAwaitedSig() is not reentrant. lwpInitSigWait() attempts to
protect it by setting an appropriate signal mask, but screws up. This
could conceivably lose signals. Messed up when it got added in commit
7183516d9
, v4.3.6. Fix it.
Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
parent
2c12238ecb
commit
f15bb68b63
1 changed files with 0 additions and 1 deletions
|
@ -67,7 +67,6 @@ lwpInitSigWait(sigset_t *set)
|
||||||
|
|
||||||
act.sa_flags = 0;
|
act.sa_flags = 0;
|
||||||
act.sa_mask = *set;
|
act.sa_mask = *set;
|
||||||
sigemptyset(&act.sa_mask);
|
|
||||||
act.sa_handler = lwpCatchAwaitedSig;
|
act.sa_handler = lwpCatchAwaitedSig;
|
||||||
for (i = 0; i < NSIG; i++) {
|
for (i = 0; i < NSIG; i++) {
|
||||||
if (sigismember(set, i))
|
if (sigismember(set, i))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue