X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Ffatal-signal.c;h=7cfbd05393615be04a156bddc8f39457c992cae4;hb=7eb1bd81120806b4189e860b2a6468925d8e7bba;hp=7932a097568363f049a083c0e84bc5144e883c56;hpb=e0edde6fee279cdbbf3c179f5f50adaf0c7c7f1e;p=openvswitch diff --git a/lib/fatal-signal.c b/lib/fatal-signal.c index 7932a097..7cfbd053 100644 --- a/lib/fatal-signal.c +++ b/lib/fatal-signal.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2009, 2010, 2011 Nicira, Inc. + * Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -74,9 +74,7 @@ fatal_signal_init(void) 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++) { @@ -152,12 +150,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)", + (int)sig_nr, signal_name(sig_nr)); call_hooks(sig_nr); /* Re-raise the signal with the default handling so that the program