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
85ad194648
commit
5315db952d
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