Depend on libosmocore and enable talloc reports Change-Id: If345c89293fcd7d1ad4f17214eea339951f25a5d --- M Transceiver52M/Makefile.am M Transceiver52M/osmo-trx.cpp M configure.ac M contrib/jenkins.sh 4 files changed, 56 insertions(+), 15 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/18/6618/2 diff --git a/Transceiver52M/Makefile.am b/Transceiver52M/Makefile.am index f36f4d4..21104dc 100644 --- a/Transceiver52M/Makefile.am +++ b/Transceiver52M/Makefile.am @@ -22,7 +22,7 @@ include $(top_srcdir)/Makefile.common AM_CPPFLAGS = -Wall $(STD_DEFINES_AND_INCLUDES) -I${srcdir}/common -AM_CXXFLAGS = -lpthread +AM_CXXFLAGS = -lpthread $(LIBOSMOCORE_CFLAGS) SUBDIRS = arm x86 @@ -92,7 +92,8 @@ $(ARCH_LA) \ $(GSM_LA) \ $(COMMON_LA) \ - $(FFTWF_LIBS) + $(FFTWF_LIBS) \ + $(LIBOSMOCORE_LIBS) if USRP1 libtransceiver_la_SOURCES += USRPDevice.cpp diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp index 16866f4..40269e1 100644 --- a/Transceiver52M/osmo-trx.cpp +++ b/Transceiver52M/osmo-trx.cpp @@ -37,6 +37,9 @@ #include <Logger.h> extern "C" { +#include <osmocom/core/talloc.h> +#include <osmocom/core/application.h> +#include <osmocom/core/msgb.h> #include "convolve.h" #include "convert.h" } @@ -88,6 +91,8 @@ }; volatile bool gshutdown = false; + +static void *tall_trx_ctx; /* Setup configuration values * Don't query the existence of the Log.Level because it's a @@ -240,20 +245,35 @@ 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, "SIGINT received, shutting down\n"); + gshutdown = true; + break; + case SIGABRT: + case SIGUSR1: + talloc_report(tall_trx_ctx, stderr); + talloc_report_full(tall_trx_ctx, stderr); + break; + case SIGUSR2: + talloc_report_full(tall_trx_ctx, stderr); + 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 +498,10 @@ RadioDevice::InterfaceType iface = RadioDevice::NORMAL; struct trx_config config; + tall_trx_ctx = talloc_named_const(NULL, 0, "OsmoTRX"); + msgb_talloc_ctx_init(tall_trx_ctx, 0); + setup_signal_handlers(); + #ifdef HAVE_SSE3 printf("Info: SSE3 support compiled in"); #ifdef HAVE___BUILTIN_CPU_SUPPORTS @@ -511,8 +535,6 @@ if (set_sched_rr(config.sched_rr) < 0) return EXIT_FAILURE; } - - setup_signal_handlers(); /* Check database sanity */ if (!trx_setup_config(&config)) { diff --git a/configure.ac b/configure.ac index 5c034e5..cba4a0c 100644 --- a/configure.ac +++ b/configure.ac @@ -73,6 +73,8 @@ AC_HEADER_TIME AC_C_BIGENDIAN +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 0.10.0) + AC_ARG_WITH(usrp1, [ AS_HELP_STRING([--with-usrp1], [enable USRP1 gnuradio based transceiver]) diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 11def5c..123ab10 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -15,6 +15,11 @@ mychroot_nocwd -w / "$@" } +base="$PWD" +deps="$base/deps" +inst="$deps/install" +export deps inst + if [ -z "${INSIDE_CHROOT}" ]; then osmo-clean-workspace.sh @@ -49,8 +54,19 @@ fi fi -### BUILD osmo-trx +mkdir "$deps" || true +osmo-build-dep.sh libosmocore "" --disable-doxygen + +set +x +echo +echo +echo +echo " =============================== osmo-trx ===============================" +echo +set -x + +cd "$base" autoreconf --install --force ./configure $INSTR $MAKE $PARALLEL_MAKE -- To view, visit https://gerrit.osmocom.org/6618 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: If345c89293fcd7d1ad4f17214eea339951f25a5d Gerrit-PatchSet: 2 Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Owner: Pau Espin Pedrol <pes...@sysmocom.de> Gerrit-Reviewer: Jenkins Builder