summaryrefslogtreecommitdiff
path: root/lib/fatal-signal.c
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2011-03-31 16:23:50 -0700
committerBen Pfaff <blp@nicira.com>2011-04-04 10:58:55 -0700
commit279c9e030818e039bb1c26be76e2cc1e8f6b13a6 (patch)
treed0b34b231861a6611ebe227326365c778aa3eac8 /lib/fatal-signal.c
parentfcaddd4dd1e8feefc09ea2664ad51fb669d136f8 (diff)
downloadopenvswitch-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.c11
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);