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>