urcu signal: remove assertion on exit
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Sat, 22 Jun 2013 18:00:39 +0000 (14:00 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Sat, 22 Jun 2013 18:00:39 +0000 (14:00 -0400)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
urcu.c

diff --git a/urcu.c b/urcu.c
index 1d5c06f53c565af243fb45c5e47c1ebb609dff97..759b94bdb9e9550e178caa04904e6048c7810b2c 100644 (file)
--- a/urcu.c
+++ b/urcu.c
@@ -513,14 +513,14 @@ void rcu_init(void)
 
 void rcu_exit(void)
 {
-       struct sigaction act;
-       int ret;
-
-       ret = sigaction(SIGRCU, NULL, &act);
-       if (ret)
-               urcu_die(errno);
-       assert(act.sa_sigaction == sigrcu_handler);
-       assert(cds_list_empty(&registry));
+       /*
+        * Don't unregister the SIGRCU signal handler anymore, because
+        * call_rcu threads could still be using it shortly before the
+        * application exits.
+        * Assertion disabled because call_rcu threads are now rcu
+        * readers, and left running at exit.
+        * assert(cds_list_empty(&registry));
+        */
 }
 
 #endif /* #ifdef RCU_SIGNAL */
This page took 0.025389 seconds and 4 git commands to generate.