diff options
author | Hisham Muhammad <hisham@gobolinux.org> | 2015-10-06 12:50:31 -0300 |
---|---|---|
committer | Hisham Muhammad <hisham@gobolinux.org> | 2015-10-06 12:50:31 -0300 |
commit | 125c23ef23cabb1cd7aee25f01fb27061dd3864c (patch) | |
tree | a768532d4147527fc4e7ed7aa7e169911123b845 | |
parent | 3fe2f3e28ec183c4cbab112aaf3689ba843a5c5c (diff) |
Fix build in FreeBSD, and make sure SIGTERM is always the default.
-rw-r--r-- | SignalsPanel.c | 12 | ||||
-rw-r--r-- | freebsd/Platform.c | 2 |
2 files changed, 11 insertions, 3 deletions
diff --git a/SignalsPanel.c b/SignalsPanel.c index 6a3b89de..9816a848 100644 --- a/SignalsPanel.c +++ b/SignalsPanel.c @@ -14,6 +14,7 @@ in the source distribution for its full text. #include <stdlib.h> #include <assert.h> +#include <signal.h> #include <ctype.h> @@ -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 0d01b0ca..b1703291 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 }, |