summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2015-10-06 12:50:31 -0300
committerHisham Muhammad <hisham@gobolinux.org>2015-10-06 12:50:31 -0300
commit125c23ef23cabb1cd7aee25f01fb27061dd3864c (patch)
treea768532d4147527fc4e7ed7aa7e169911123b845
parent3fe2f3e28ec183c4cbab112aaf3689ba843a5c5c (diff)
Fix build in FreeBSD, and make sure SIGTERM is always the default.
-rw-r--r--SignalsPanel.c12
-rw-r--r--freebsd/Platform.c2
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 },

© 2014-2024 Faster IT GmbH | imprint | privacy policy