summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2016-09-16 01:49:08 +0200
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2016-10-13 13:14:41 +0000
commit39ae17fb6945c0b4d88fa219fea1563fb9177fdc (patch)
tree6f3cadfa66d00409c09e1557c78e1ffc6061b7bc
parent4c2d4ab5db5f5703d435e6a49639fca65a049778 (diff)
msgb ctx: use new msgb_talloc_ctx_init(), don't access talloc_msgb_ctx
Drop extern definitions of talloc_msgb_ctx and use msgb_talloc_ctx_init() instead. In sgsn_test.c, use a local variable msgb_ctx to do the talloc report from the return value of msgb_talloc_ctx_init(). Change-Id: I2f9ace855f0ecbdc9adf5d75bcb1a3d666570de4
-rw-r--r--openbsc/src/gprs/gb_proxy_main.c4
-rw-r--r--openbsc/src/gprs/sgsn_main.c3
-rw-r--r--openbsc/src/libcommon/talloc_ctx.c3
-rw-r--r--openbsc/src/osmo-bsc_nat/bsc_nat.c3
-rw-r--r--openbsc/tests/sgsn/sgsn_test.c7
5 files changed, 7 insertions, 13 deletions
diff --git a/openbsc/src/gprs/gb_proxy_main.c b/openbsc/src/gprs/gb_proxy_main.c
index 2ddfca7c5..04875c7c2 100644
--- a/openbsc/src/gprs/gb_proxy_main.c
+++ b/openbsc/src/gprs/gb_proxy_main.c
@@ -189,8 +189,6 @@ static void handle_options(int argc, char **argv)
}
}
-extern void *tall_msgb_ctx;
-
extern int bsc_vty_go_parent(struct vty *vty);
static struct vty_app_info vty_info = {
@@ -231,7 +229,7 @@ int main(int argc, char **argv)
int rc;
tall_bsc_ctx = talloc_named_const(NULL, 0, "nsip_proxy");
- tall_msgb_ctx = talloc_named_const(tall_bsc_ctx, 0, "msgb");
+ msgb_talloc_ctx_init(tall_bsc_ctx, 0);
signal(SIGINT, &signal_handler);
signal(SIGABRT, &signal_handler);
diff --git a/openbsc/src/gprs/sgsn_main.c b/openbsc/src/gprs/sgsn_main.c
index 822c35930..b4be6318c 100644
--- a/openbsc/src/gprs/sgsn_main.c
+++ b/openbsc/src/gprs/sgsn_main.c
@@ -163,7 +163,6 @@ static void signal_handler(int signal)
/* NSI that BSSGP uses when transmitting on NS */
extern struct gprs_ns_inst *bssgp_nsi;
-extern void *tall_msgb_ctx;
extern int bsc_vty_go_parent(struct vty *vty);
@@ -328,7 +327,7 @@ int main(int argc, char **argv)
srand(time(NULL));
tall_bsc_ctx = talloc_named_const(NULL, 0, "osmo_sgsn");
- tall_msgb_ctx = talloc_named_const(tall_bsc_ctx, 0, "msgb");
+ msgb_talloc_ctx_init(tall_bsc_ctx, 0);
signal(SIGINT, &signal_handler);
signal(SIGABRT, &signal_handler);
diff --git a/openbsc/src/libcommon/talloc_ctx.c b/openbsc/src/libcommon/talloc_ctx.c
index a917a8c34..7a8bfd3f1 100644
--- a/openbsc/src/libcommon/talloc_ctx.c
+++ b/openbsc/src/libcommon/talloc_ctx.c
@@ -20,7 +20,6 @@
#include <osmocom/core/talloc.h>
extern void *tall_bsc_ctx;
-extern void *tall_msgb_ctx;
extern void *tall_fle_ctx;
extern void *tall_locop_ctx;
extern void *tall_authciphop_ctx;
@@ -38,7 +37,7 @@ extern void *tall_ctr_ctx;
void talloc_ctx_init(void *ctx_root)
{
- tall_msgb_ctx = talloc_named_const(ctx_root, 0, "msgb");
+ msgb_talloc_ctx_init(ctx_root, 0);
tall_fle_ctx = talloc_named_const(ctx_root, 0, "bs11_file_list_entry");
tall_locop_ctx = talloc_named_const(ctx_root, 0, "loc_updating_oper");
tall_authciphop_ctx = talloc_named_const(ctx_root, 0, "auth_ciph_oper");
diff --git a/openbsc/src/osmo-bsc_nat/bsc_nat.c b/openbsc/src/osmo-bsc_nat/bsc_nat.c
index 6ae8c0501..a4dd67901 100644
--- a/openbsc/src/osmo-bsc_nat/bsc_nat.c
+++ b/openbsc/src/osmo-bsc_nat/bsc_nat.c
@@ -1573,12 +1573,11 @@ out:
osmo_timer_schedule(&sccp_close, SCCP_CLOSE_TIME, 0);
}
-extern void *tall_msgb_ctx;
extern void *tall_ctr_ctx;
static void talloc_init_ctx()
{
tall_bsc_ctx = talloc_named_const(NULL, 0, "nat");
- tall_msgb_ctx = talloc_named_const(tall_bsc_ctx, 0, "msgb");
+ msgb_talloc_ctx_init(tall_bsc_ctx, 0);
tall_ctr_ctx = talloc_named_const(tall_bsc_ctx, 0, "counter");
}
diff --git a/openbsc/tests/sgsn/sgsn_test.c b/openbsc/tests/sgsn/sgsn_test.c
index 5ee5fa47b..789817c3c 100644
--- a/openbsc/tests/sgsn/sgsn_test.c
+++ b/openbsc/tests/sgsn/sgsn_test.c
@@ -39,8 +39,6 @@
#include <stdio.h>
-extern void *tall_msgb_ctx;
-
void *tall_bsc_ctx;
static struct sgsn_instance sgsn_inst = {
.config_file = "osmo_sgsn.cfg",
@@ -2423,11 +2421,12 @@ static struct log_info info = {
int main(int argc, char **argv)
{
void *osmo_sgsn_ctx;
+ void *msgb_ctx;
osmo_init_logging(&info);
osmo_sgsn_ctx = talloc_named_const(NULL, 0, "osmo_sgsn");
tall_bsc_ctx = talloc_named_const(osmo_sgsn_ctx, 0, "bsc");
- tall_msgb_ctx = talloc_named_const(osmo_sgsn_ctx, 0, "msgb");
+ msgb_ctx = msgb_talloc_ctx_init(osmo_sgsn_ctx, 0);
sgsn_rate_ctr_init();
sgsn_auth_init();
@@ -2458,7 +2457,7 @@ int main(int argc, char **argv)
printf("Done\n");
talloc_report_full(osmo_sgsn_ctx, stderr);
- OSMO_ASSERT(talloc_total_blocks(tall_msgb_ctx) == 1);
+ OSMO_ASSERT(talloc_total_blocks(msgb_ctx) == 1);
OSMO_ASSERT(talloc_total_blocks(tall_bsc_ctx) == 2);
return 0;
}