Fix signal handler installation
authorPierre-Marc Fournier <pierre-marc.fournier@polymtl.ca>
Tue, 9 Jun 2009 21:54:49 +0000 (17:54 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Tue, 9 Jun 2009 21:54:49 +0000 (17:54 -0400)
The signal handler is not being set in conformance with the sigaction
manpage. Because of this, it is probably not set at all. Valgrind also
generates an error. This patch fixes this.

Signed-off-by: Pierre-Marc Fournier <pierre-marc.fournier@polymtl.ca>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
urcu.c

diff --git a/urcu.c b/urcu.c
index 7f3de52c4857d9dd6da70536de8b9cf2b73720f7..c07df2e8cf21384a07da3bb47066cd2b2bb44084 100644 (file)
--- a/urcu.c
+++ b/urcu.c
@@ -451,6 +451,8 @@ void urcu_init(void)
        init_done = 1;
 
        act.sa_sigaction = sigurcu_handler;
        init_done = 1;
 
        act.sa_sigaction = sigurcu_handler;
+       act.sa_flags = SA_SIGINFO;
+       sigemptyset(&act.sa_mask);
        ret = sigaction(SIGURCU, &act, NULL);
        if (ret) {
                perror("Error in sigaction");
        ret = sigaction(SIGURCU, &act, NULL);
        if (ret) {
                perror("Error in sigaction");
This page took 0.034234 seconds and 4 git commands to generate.