aboutsummaryrefslogtreecommitdiffstats
path: root/src
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 /src
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
Diffstat (limited to 'src')
-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);