diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp index 0562dcd9..069d195f 100644 --- a/Transceiver52M/osmo-trx.cpp +++ b/Transceiver52M/osmo-trx.cpp @@ -37,7 +37,9 @@ #include extern "C" { +#include #include +#include #include "convolve.h" #include "convert.h" } @@ -90,6 +92,8 @@ struct trx_config { 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 * mandatory value. That is, if it doesn't exist, the configuration @@ -248,6 +252,14 @@ static void sig_handler(int signo) fprintf(stdout, "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; } @@ -486,6 +498,8 @@ int main(int argc, char *argv[]) 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