osmo-trx: Set up talloc ctx

Change-Id: I67f1980fc615ab74371cbe1c4f83e987381299bc
diff --git a/Transceiver52M/osmo-trx.cpp b/Transceiver52M/osmo-trx.cpp
index 0562dcd..069d195 100644
--- a/Transceiver52M/osmo-trx.cpp
+++ b/Transceiver52M/osmo-trx.cpp
@@ -37,7 +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"
 }
@@ -90,6 +92,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
  *     mandatory value. That is, if it doesn't exist, the configuration
@@ -248,6 +252,14 @@
 		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 @@
 	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