report signal() errors, thanks to LRN (#1571)
authorNils Durner <durner@gnunet.org>
Mon, 21 Jun 2010 20:05:10 +0000 (20:05 +0000)
committerNils Durner <durner@gnunet.org>
Mon, 21 Jun 2010 20:05:10 +0000 (20:05 +0000)
src/util/signal.c

index c8d6e04cd4a2ea446b12f5da9d941a4f9fa26b9e..1fc3cf68f98226d1aa23577d996c24b2eeb82008 100644 (file)
@@ -67,7 +67,16 @@ GNUNET_SIGNAL_handler_install (int signum, GNUNET_SIGNAL_Handler handler)
   if (signum == GNUNET_SIGCHLD)
     w32_sigchld_handler = handler;
   else
-    signal (signum, handler);
+    {
+      __p_sig_fn_t sigret = signal (signum, handler);
+      if (sigret == SIG_ERR)
+        {
+          GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+              _
+              ("signal (%d, %p) returned %d.\n"),
+              signum, handler, sigret);
+        }
+    }
 #endif
   return ret;
 }