aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2016-05-16 18:33:59 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2016-05-23 16:53:45 +0200
commita2d1761da1de2c4d08f51067b2af8cf6d95899ee (patch)
treed2befcd65313d11ab50f0aa78de370c5eb704270
parente4e697940dff612b789b0858270c20a8b680f78d (diff)
downloadqemu-a2d1761da1de2c4d08f51067b2af8cf6d95899ee.zip
qemu-a2d1761da1de2c4d08f51067b2af8cf6d95899ee.tar.gz
qemu-a2d1761da1de2c4d08f51067b2af8cf6d95899ee.tar.bz2
cpus.c: Use pthread_sigmask() rather than sigprocmask()
On Linux, sigprocmask() and pthread_sigmask() are in practice the same thing (they only set the signal mask for the calling thread), but the documentation states that the behaviour of sigprocmask() in a multithreaded process is undefined. Use pthread_sigmask() instead (which is what we do in almost all places in QEMU that alter the signal mask already). Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <1463420039-29761-1-git-send-email-peter.maydell@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--cpus.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/cpus.c b/cpus.c
index eb34b4f..f8366c6 100644
--- a/cpus.c
+++ b/cpus.c
@@ -780,7 +780,7 @@ static void sigbus_reraise(void)
raise(SIGBUS);
sigemptyset(&set);
sigaddset(&set, SIGBUS);
- sigprocmask(SIG_UNBLOCK, &set, NULL);
+ pthread_sigmask(SIG_UNBLOCK, &set, NULL);
}
perror("Failed to re-raise SIGBUS!\n");
abort();