From 125c23ef23cabb1cd7aee25f01fb27061dd3864c Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Tue, 6 Oct 2015 12:50:31 -0300 Subject: [PATCH] Fix build in FreeBSD, and make sure SIGTERM is always the default. --- SignalsPanel.c | 12 ++++++++++-- freebsd/Platform.c | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/SignalsPanel.c b/SignalsPanel.c index 6a3b89d..9816a84 100644 --- a/SignalsPanel.c +++ b/SignalsPanel.c @@ -14,6 +14,7 @@ in the source distribution for its full text. #include #include +#include #include @@ -28,9 +29,16 @@ typedef struct SignalItem_ { Panel* SignalsPanel_new() { Panel* this = Panel_new(1, 1, 1, 1, true, Class(ListItem), FunctionBar_newEnterEsc("Send ", "Cancel ")); - for(unsigned int i = 0; i < Platform_numberOfSignals; i++) + const int defaultSignal = SIGTERM; + int defaultPosition = 15; + for(unsigned int i = 0; i < Platform_numberOfSignals; i++) { Panel_set(this, i, (Object*) ListItem_new(Platform_signals[i].name, Platform_signals[i].number)); + // signal 15 is not always the 15th signal in the table + if (Platform_signals[i].number == defaultSignal) { + defaultPosition = i; + } + } Panel_setHeader(this, "Send signal:"); - Panel_setSelected(this, 16); // 16th item is SIGTERM + Panel_setSelected(this, defaultPosition); return this; } diff --git a/freebsd/Platform.c b/freebsd/Platform.c index 0d01b0c..b170329 100644 --- a/freebsd/Platform.c +++ b/freebsd/Platform.c @@ -37,7 +37,7 @@ ProcessField Platform_defaultFields[] = { PID, USER, PRIORITY, NICE, M_SIZE, M_R int Platform_numberOfFields = LAST_PROCESSFIELD; -static SignalItem Platform_signals[] = { +SignalItem Platform_signals[] = { { .name = " 0 Cancel", .number = 0 }, { .name = " 1 SIGHUP", .number = 1 }, { .name = " 2 SIGINT", .number = 2 }, -- GitLab