Harald 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 <pes...@sysmocom.de>
Gerrit-Reviewer: Harald Welte <lafo...@gnumonks.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Vadim Yanitskiy <axilira...@gmail.com>

Reply via email to