aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2017-08-20 21:00:39 +0200
committerHarald Welte <laforge@gnumonks.org>2017-08-20 19:23:34 +0000
commit4d5df2ebd18efd1bdc8ea9d7e177c017c99e1981 (patch)
treea0fd75fb36226f9cf7c081053b185914e80d3884
parented662e0799a4ee685082ac93cd6b93e82d62836b (diff)
Treat SIGTERM just like SIGINT in our programs
When somebody kills the process, it's best to handle the signal and to use the opportunity for some cleanup. We always did this in the BTS on SIGINT, but never on SIGTERM. Let's change it. Change-Id: I10009c08b7178988f646e2b6035197b9640ac9b5
-rw-r--r--src/common/main.c2
-rw-r--r--src/osmo-bts-litecell15/misc/lc15bts_mgr.c2
-rw-r--r--src/osmo-bts-sysmo/misc/sysmobts_mgr.c2
3 files changed, 6 insertions, 0 deletions
diff --git a/src/common/main.c b/src/common/main.c
index 6c13663f..c998c45b 100644
--- a/src/common/main.c
+++ b/src/common/main.c
@@ -184,6 +184,7 @@ static void signal_handler(int signal)
switch (signal) {
case SIGINT:
+ case SIGTERM:
if (!quit) {
oml_fail_rep(OSMO_EVT_CRIT_PROC_STOP,
"BTS: SIGINT received -> shutdown");
@@ -324,6 +325,7 @@ int bts_main(int argc, char **argv)
}
signal(SIGINT, &signal_handler);
+ signal(SIGTERM, &signal_handler);
//signal(SIGABRT, &signal_handler);
signal(SIGUSR1, &signal_handler);
signal(SIGUSR2, &signal_handler);
diff --git a/src/osmo-bts-litecell15/misc/lc15bts_mgr.c b/src/osmo-bts-litecell15/misc/lc15bts_mgr.c
index cec9a822..7886a5e2 100644
--- a/src/osmo-bts-litecell15/misc/lc15bts_mgr.c
+++ b/src/osmo-bts-litecell15/misc/lc15bts_mgr.c
@@ -226,6 +226,7 @@ static void signal_handler(int signal)
switch (signal) {
case SIGINT:
+ case SIGTERM:
lc15bts_check_temp(no_rom_write);
lc15bts_check_power(no_rom_write);
lc15bts_check_vswr(no_rom_write);
@@ -297,6 +298,7 @@ int main(int argc, char **argv)
osmo_init_ignore_signals();
signal(SIGINT, &signal_handler);
+ signal(SIGTERM, &signal_handler);
signal(SIGUSR1, &signal_handler);
signal(SIGUSR2, &signal_handler);
diff --git a/src/osmo-bts-sysmo/misc/sysmobts_mgr.c b/src/osmo-bts-sysmo/misc/sysmobts_mgr.c
index 6fadf0f6..17a6d89b 100644
--- a/src/osmo-bts-sysmo/misc/sysmobts_mgr.c
+++ b/src/osmo-bts-sysmo/misc/sysmobts_mgr.c
@@ -198,6 +198,7 @@ static void signal_handler(int signal)
switch (signal) {
case SIGINT:
+ case SIGTERM:
sysmobts_check_temp(no_eeprom_write);
sysmobts_update_hours(no_eeprom_write);
exit(0);
@@ -266,6 +267,7 @@ int main(int argc, char **argv)
osmo_init_ignore_signals();
signal(SIGINT, &signal_handler);
+ signal(SIGTERM, &signal_handler);
signal(SIGUSR1, &signal_handler);
signal(SIGUSR2, &signal_handler);