diff options
author | Ben Pfaff <blp@nicira.com> | 2011-04-01 10:22:51 -0700 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2011-04-04 10:58:55 -0700 |
commit | b725cf028c85d0ebafcf55e503d332bb96fb708c (patch) | |
tree | 402a8f9decfc85dba9eba3976fb6c4fc6b5bbb05 /lib/process.c | |
parent | 67a51a1d851df25eebc676cf24bbb0f821d1c736 (diff) |
signals: New function signal_name().
This will acquire a new user in an upcoming commit.
Diffstat (limited to 'lib/process.c')
-rw-r--r-- | lib/process.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/lib/process.c b/lib/process.c index 8263437c..f772833d 100644 --- a/lib/process.c +++ b/lib/process.c @@ -30,6 +30,7 @@ #include "fatal-signal.h" #include "list.h" #include "poll-loop.h" +#include "signals.h" #include "socket-util.h" #include "util.h" #include "vlog.h" @@ -353,17 +354,10 @@ process_status_msg(int status) struct ds ds = DS_EMPTY_INITIALIZER; if (WIFEXITED(status)) { ds_put_format(&ds, "exit status %d", WEXITSTATUS(status)); - } else if (WIFSIGNALED(status) || WIFSTOPPED(status)) { - int signr = WIFSIGNALED(status) ? WTERMSIG(status) : WSTOPSIG(status); - const char *name = NULL; -#ifdef HAVE_STRSIGNAL - name = strsignal(signr); -#endif - ds_put_format(&ds, "%s by signal %d", - WIFSIGNALED(status) ? "killed" : "stopped", signr); - if (name) { - ds_put_format(&ds, " (%s)", name); - } + } else if (WIFSIGNALED(status)) { + ds_put_format(&ds, "killed (%s)", signal_name(WTERMSIG(status))); + } else if (WIFSTOPPED(status)) { + ds_put_format(&ds, "stopped (%s)", signal_name(WSTOPSIG(status))); } else { ds_put_format(&ds, "terminated abnormally (%x)", status); } |