On FreeBSD sig_atomic_t is long, which causes the comparison in
fatal_signal_run to be true when no signal has been reported.

Signed-off-by: Ed Maste <emaste at freebsd.org>
---
 lib/fatal-signal.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/fatal-signal.c b/lib/fatal-signal.c
index fff2a73..9130a23 100644
--- a/lib/fatal-signal.c
+++ b/lib/fatal-signal.c
@@ -152,14 +152,14 @@ fatal_signal_handler(int sig_nr)
 void
 fatal_signal_run(void)
 {
-    int sig_nr;
+    sig_atomic_t sig_nr;
 
     fatal_signal_init();
 
     sig_nr = stored_sig_nr;
     if (sig_nr != SIG_ATOMIC_MAX) {
         VLOG_WARN("terminating with signal %d (%s)",
-                  sig_nr, signal_name(sig_nr));
+                  (int)sig_nr, signal_name(sig_nr));
         call_hooks(sig_nr);
 
         /* Re-raise the signal with the default handling so that the program
-- 
1.7.10.3

_______________________________________________
discuss mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to