diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2016-05-09 19:12:44 +0200 |
---|---|---|
committer | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2016-09-26 02:25:46 +0200 |
commit | 77c8d5ffb52bd5da405fc869286b4f7aa7f88d4d (patch) | |
tree | 83b9103eb38446c852f9c0c7451a0aa3cc00921c /openbsc/src/libbsc | |
parent | d90fa42dc9f1fbf3d1d92a1749742ecb1c5d537e (diff) |
mscsplit: gsm_network_init(): add explicit root talloc ctx
Decouple the root talloc context from libbsc's global talloc_bsc_ctx.
This allows to define the root talloc ctx from a main() scope, which in turn
helps decouple libmsc from libbsc.
Change-Id: I92f6b47b1eeea2e8f3fba66f25d7e708e5659f8a
Diffstat (limited to 'openbsc/src/libbsc')
-rw-r--r-- | openbsc/src/libbsc/bsc_init.c | 2 | ||||
-rw-r--r-- | openbsc/src/libbsc/net_init.c | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/openbsc/src/libbsc/bsc_init.c b/openbsc/src/libbsc/bsc_init.c index 371ddeea3..06f412119 100644 --- a/openbsc/src/libbsc/bsc_init.c +++ b/openbsc/src/libbsc/bsc_init.c @@ -477,7 +477,7 @@ int bsc_bootstrap_network(int (*mncc_recv)(struct gsm_network *, struct msgb *), int rc; /* initialize our data structures */ - bsc_gsmnet = gsm_network_init(1, 1, mncc_recv); + bsc_gsmnet = gsm_network_init(tall_bsc_ctx, 1, 1, mncc_recv); if (!bsc_gsmnet) return -ENOMEM; diff --git a/openbsc/src/libbsc/net_init.c b/openbsc/src/libbsc/net_init.c index e01ba8025..e53b4662f 100644 --- a/openbsc/src/libbsc/net_init.c +++ b/openbsc/src/libbsc/net_init.c @@ -23,13 +23,15 @@ #include <stdbool.h> -struct gsm_network *gsm_network_init(uint16_t country_code, uint16_t network_code, +struct gsm_network *gsm_network_init(void *ctx, + uint16_t country_code, + uint16_t network_code, int (*mncc_recv)(struct gsm_network *, struct msgb *)) { struct gsm_network *net; const char *default_regexp = ".*"; - net = talloc_zero(tall_bsc_ctx, struct gsm_network); + net = talloc_zero(ctx, struct gsm_network); if (!net) return NULL; |