diff options
author | Ben Pfaff <blp@nicira.com> | 2011-03-31 16:23:50 -0700 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2011-04-04 10:58:55 -0700 |
commit | 279c9e030818e039bb1c26be76e2cc1e8f6b13a6 (patch) | |
tree | d0b34b231861a6611ebe227326365c778aa3eac8 /lib/fatal-signal.c | |
parent | fcaddd4dd1e8feefc09ea2664ad51fb669d136f8 (diff) | |
download | openvswitch-279c9e030818e039bb1c26be76e2cc1e8f6b13a6.tar.gz |
Log anything that could prevent a daemon from starting.
If a daemon doesn't start, we need to know why. Being able to
consistently consult the log to find out is helpful.
Diffstat (limited to 'lib/fatal-signal.c')
-rw-r--r-- | lib/fatal-signal.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/lib/fatal-signal.c b/lib/fatal-signal.c index ed82173a4..c7e87dbe9 100644 --- a/lib/fatal-signal.c +++ b/lib/fatal-signal.c @@ -27,6 +27,7 @@ #include "poll-loop.h" #include "shash.h" #include "sset.h" +#include "signals.h" #include "socket-util.h" #include "util.h" #include "vlog.h" @@ -67,9 +68,7 @@ fatal_signal_init(void) inited = true; - if (pipe(signal_fds)) { - ovs_fatal(errno, "could not create pipe"); - } + xpipe(signal_fds); set_nonblocking(signal_fds[0]); set_nonblocking(signal_fds[1]); @@ -79,12 +78,10 @@ fatal_signal_init(void) struct sigaction old_sa; sigaddset(&fatal_signal_set, sig_nr); - if (sigaction(sig_nr, NULL, &old_sa)) { - ovs_fatal(errno, "sigaction"); - } + xsigaction(sig_nr, NULL, &old_sa); if (old_sa.sa_handler == SIG_DFL && signal(sig_nr, fatal_signal_handler) == SIG_ERR) { - ovs_fatal(errno, "signal"); + VLOG_FATAL("signal failed (%s)", strerror(errno)); } } atexit(atexit_handler); |