/*
- * Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira, Inc.
+ * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013 Nicira, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*/
#include <config.h>
#include "fatal-signal.h"
-#include <assert.h>
#include <errno.h>
#include <signal.h>
#include <stdbool.h>
inited = true;
- xpipe(signal_fds);
- set_nonblocking(signal_fds[0]);
- set_nonblocking(signal_fds[1]);
+ xpipe_nonblocking(signal_fds);
sigemptyset(&fatal_signal_set);
for (i = 0; i < ARRAY_SIZE(fatal_signals); i++) {
xsigaction(sig_nr, NULL, &old_sa);
if (old_sa.sa_handler == SIG_DFL
&& signal(sig_nr, fatal_signal_handler) == SIG_ERR) {
- VLOG_FATAL("signal failed (%s)", strerror(errno));
+ VLOG_FATAL("signal failed (%s)", ovs_strerror(errno));
}
}
atexit(atexit_handler);
{
fatal_signal_init();
- assert(n_hooks < MAX_HOOKS);
+ ovs_assert(n_hooks < MAX_HOOKS);
hooks[n_hooks].hook_cb = hook_cb;
hooks[n_hooks].cancel_cb = cancel_cb;
hooks[n_hooks].aux = aux;
sig_nr = stored_sig_nr;
if (sig_nr != SIG_ATOMIC_MAX) {
+ char namebuf[SIGNAL_NAME_BUFSIZE];
+
VLOG_WARN("terminating with signal %d (%s)",
- (int)sig_nr, signal_name(sig_nr));
+ (int)sig_nr, signal_name(sig_nr, namebuf, sizeof namebuf));
call_hooks(sig_nr);
/* Re-raise the signal with the default handling so that the program
{
int error = unlink(file) ? errno : 0;
if (error) {
- VLOG_WARN("could not unlink \"%s\" (%s)", file, strerror(error));
+ VLOG_WARN("could not unlink \"%s\" (%s)", file, ovs_strerror(error));
}
fatal_signal_remove_file_to_unlink(file);