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 | |
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')
-rw-r--r-- | openbsc/src/ipaccess/ipaccess-config.c | 2 | ||||
-rw-r--r-- | openbsc/src/libbsc/bsc_init.c | 2 | ||||
-rw-r--r-- | openbsc/src/libbsc/net_init.c | 6 | ||||
-rw-r--r-- | openbsc/src/utils/bs11_config.c | 2 |
4 files changed, 7 insertions, 5 deletions
diff --git a/openbsc/src/ipaccess/ipaccess-config.c b/openbsc/src/ipaccess/ipaccess-config.c index 31da05636..9e3a4712e 100644 --- a/openbsc/src/ipaccess/ipaccess-config.c +++ b/openbsc/src/ipaccess/ipaccess-config.c @@ -983,7 +983,7 @@ int main(int argc, char **argv) } libosmo_abis_init(tall_ctx_config); - bsc_gsmnet = gsm_network_init(1, 1, NULL); + bsc_gsmnet = gsm_network_init(tall_bsc_ctx, 1, 1, NULL); if (!bsc_gsmnet) exit(1); 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; diff --git a/openbsc/src/utils/bs11_config.c b/openbsc/src/utils/bs11_config.c index 3fb74bf99..227b9f8aa 100644 --- a/openbsc/src/utils/bs11_config.c +++ b/openbsc/src/utils/bs11_config.c @@ -894,7 +894,7 @@ int main(int argc, char **argv) handle_options(argc, argv); bts_model_bs11_init(); - gsmnet = gsm_network_init(1, 1, NULL); + gsmnet = gsm_network_init(tall_bs11cfg_ctx, 1, 1, NULL); if (!gsmnet) { fprintf(stderr, "Unable to allocate gsm network\n"); exit(1); |