aboutsummaryrefslogtreecommitdiff
path: root/lib/process.c
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2011-04-01 10:22:51 -0700
committerBen Pfaff <blp@nicira.com>2011-04-04 10:58:55 -0700
commitb725cf028c85d0ebafcf55e503d332bb96fb708c (patch)
tree402a8f9decfc85dba9eba3976fb6c4fc6b5bbb05 /lib/process.c
parent67a51a1d851df25eebc676cf24bbb0f821d1c736 (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.c16
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);
}