X-Git-Url: http://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=urcu.c;h=f219e7632f50d232cbb3f73c75b097f56246215f;hp=b71e162b3fca1e29f83e02b6cd405e68b154147e;hb=ed1289f1b3865b04eb268c26d310d08e19b4760b;hpb=5dba80f9bed985c23090ec74bb4173b31b28513a diff --git a/urcu.c b/urcu.c index b71e162..f219e76 100644 --- a/urcu.c +++ b/urcu.c @@ -36,8 +36,14 @@ /* Do not #define _LGPL_SOURCE to ensure we can emit the wrapper symbols */ #include "urcu.h" +#ifndef DEBUG_FULL_MB void __attribute__((constructor)) urcu_init(void); void __attribute__((destructor)) urcu_exit(void); +#else +static inline void urcu_init(void) +{ +} +#endif int init_done; @@ -445,6 +451,8 @@ void urcu_init(void) 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");