mirror of
https://git.openafs.org/openafs.git
synced 2025-01-31 05:27:44 +00:00
opr: Avoid sigwait on SIGWAITING
On AIX, calling sigwait() on a sigset containing SIGWAITING (or SIGKILL or SIGSTOP), causes sigwait to return with an EINVAL error. Currently, signalHandler() calls sigwait() with SIGWAITING, because SIGWAITING is in the sigset returned by softsigSignalSet(). And so, sigwait() returns EINVAL, and our opr_Verify in signalHandler() fails, causing a crash. To avoid this, remove SIGWAITING from the sigset in softsigSignalSet(). This is AIX-specific, since the SIGWAITING signal is AIX-specific. Reviewed-on: https://gerrit.openafs.org/14705 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> (cherry picked from commit c2db41258370159c1257ee79df10afa4a2a2d9e8) Change-Id: I433e4842b684c5f0f453e20d2f5d455b10a792eb Reviewed-on: https://gerrit.openafs.org/15441 Reviewed-by: Andrew Deason <adeason@sinenomine.net> Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Ben Huntsman <ben@huntsmans.net> Reviewed-by: Mark Vitale <mvitale@sinenomine.net> Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
This commit is contained in:
parent
332b5593d4
commit
e4e9122365
@ -60,6 +60,9 @@ softsigSignalSet(sigset_t *set)
|
|||||||
sigdelset(set, SIGPIPE);
|
sigdelset(set, SIGPIPE);
|
||||||
sigdelset(set, SIGSEGV);
|
sigdelset(set, SIGSEGV);
|
||||||
sigdelset(set, SIGTRAP);
|
sigdelset(set, SIGTRAP);
|
||||||
|
#ifdef AFS_AIX_ENV
|
||||||
|
sigdelset(set, SIGWAITING);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static void *
|
static void *
|
||||||
|
Loading…
x
Reference in New Issue
Block a user