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
This commit is contained in:
parent
4c2d4ab5db
commit
39ae17fb69
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue