This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.orgHarald Welte has submitted this change and it was merged. Change subject: osmo-trx: set up signals using libosmocore helpers ...................................................................... osmo-trx: set up signals using libosmocore helpers Change-Id: I86e78cd6054d0deff1b1aa061299d9f307e2a352 --- M Transceiver52M/osmo-trx.cpp 1 file changed, 20 insertions(+), 12 deletions(-) Approvals: Vadim Yanitskiy: Looks good to me, but someone else must approve Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp index 16866f4..0562dcd 100644 --- a/Transceiver52M/osmo-trx.cpp +++ b/Transceiver52M/osmo-trx.cpp @@ -37,6 +37,7 @@ #include <Logger.h> extern "C" { +#include <osmocom/core/application.h> #include "convolve.h" #include "convert.h" } @@ -240,20 +241,27 @@ static void sig_handler(int signo) { - fprintf(stdout, "Received shutdown signal"); - gshutdown = true; + fprintf(stdout, "signal %d received\n", signo); + switch (signo) { + case SIGINT: + case SIGTERM: + fprintf(stdout, "shutting down\n"); + gshutdown = true; + break; + default: + break; + } } static void setup_signal_handlers() { - if (signal(SIGINT, sig_handler) == SIG_ERR) { - fprintf(stderr, "Failed to install SIGINT signal handler\n"); - exit(EXIT_FAILURE); - } - if (signal(SIGTERM, sig_handler) == SIG_ERR) { - fprintf(stderr, "Couldn't install SIGTERM signal handler\n"); - exit( EXIT_FAILURE); - } + /* Handle keyboard interrupt SIGINT */ + signal(SIGINT, &sig_handler); + signal(SIGTERM, &sig_handler); + signal(SIGABRT, &sig_handler); + signal(SIGUSR1, &sig_handler); + signal(SIGUSR2, &sig_handler); + osmo_init_ignore_signals(); } @@ -478,6 +486,8 @@ RadioDevice::InterfaceType iface = RadioDevice::NORMAL; struct trx_config config; + setup_signal_handlers(); + #ifdef HAVE_SSE3 printf("Info: SSE3 support compiled in"); #ifdef HAVE___BUILTIN_CPU_SUPPORTS @@ -511,8 +521,6 @@ if (set_sched_rr(config.sched_rr) < 0) return EXIT_FAILURE; } - - setup_signal_handlers(); /* Check database sanity */ if (!trx_setup_config(&config)) { -- To view, visit https://gerrit.osmocom.org/6646 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: I86e78cd6054d0deff1b1aa061299d9f307e2a352 Gerrit-PatchSet: 5 Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de> Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Vadim Yanitskiy <axilirator at gmail.com>