[MERGED] osmo-pcu[master]: use osmo_init_logging2() with proper talloc ctx

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Neels Hofmeyr gerrit-no-reply at lists.osmocom.org
Wed Apr 4 16:57:10 UTC 2018


Neels Hofmeyr has submitted this change and it was merged.

Change subject: use osmo_init_logging2() with proper talloc ctx
......................................................................


use osmo_init_logging2() with proper talloc ctx

There is a duality of initialization: early_init() in bts.cpp wants to init
logging even before static instances get initialized. Make sure that
tall_pcu_ctx is initialized during early_init() as well. There is a build
context that does not seem to include bts.cpp (osmo-pcu-remote), so to be sure,
init tall_pcu_ctx as NULL and both in early_init() as well as pcu_main.cpp,
init both tall_pcu_ctx and logging if it is still NULL.

Change-Id: I2199b62d0270bd35dec2283e8f5b364b7c63915b
---
M src/bts.cpp
M src/pcu_main.cpp
M tests/alloc/AllocTest.cpp
M tests/alloc/MslotTest.cpp
M tests/bitcomp/BitcompTest.cpp
M tests/codel/codel_test.c
M tests/edge/EdgeTest.cpp
M tests/emu/pcu_emu.cpp
M tests/fn/FnTest.cpp
M tests/llc/LlcTest.cpp
M tests/ms/MsTest.cpp
M tests/rlcmac/RLCMACTest.cpp
M tests/tbf/TbfTest.cpp
M tests/types/TypesTest.cpp
14 files changed, 28 insertions(+), 22 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/bts.cpp b/src/bts.cpp
index 47607df..b6d0d0c 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -59,7 +59,10 @@
 	 * require logging already to be initialized. */
 	__attribute__((constructor)) static void early_init(void)
 	{
-		osmo_init_logging(&gprs_log_info);
+		if (!tall_pcu_ctx) {
+			tall_pcu_ctx = talloc_named_const(NULL, 1, "Osmo-PCU context");
+			osmo_init_logging2(tall_pcu_ctx, &gprs_log_info);
+		}
 	}
 }
 
diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp
index 84ade6f..5b1b1be 100644
--- a/src/pcu_main.cpp
+++ b/src/pcu_main.cpp
@@ -56,7 +56,7 @@
 static int config_given = 0;
 static char *config_file = strdup("osmo-pcu.cfg");
 extern struct vty_app_info pcu_vty_info;
-void *tall_pcu_ctx;
+void *tall_pcu_ctx = NULL;
 extern void *bv_tall_ctx;
 static int quit = 0;
 static int rt_prio = -1;
@@ -181,9 +181,13 @@
 	struct gprs_rlcmac_bts *bts;
 	int rc;
 
-	tall_pcu_ctx = talloc_named_const(NULL, 1, "Osmo-PCU context");
-	if (!tall_pcu_ctx)
-		return -ENOMEM;
+	/* tall_pcu_ctx may already have been initialized in bts.cpp during early_init(). */
+	if (!tall_pcu_ctx) {
+		tall_pcu_ctx = talloc_named_const(NULL, 1, "Osmo-PCU context");
+		if (!tall_pcu_ctx)
+			return -ENOMEM;
+		osmo_init_logging2(tall_pcu_ctx, &gprs_log_info);
+	}
 
 	bts = bts_main_data();
 	bts->fc_interval = 1;
@@ -259,7 +263,6 @@
 
 	msgb_talloc_ctx_init(tall_pcu_ctx, 0);
 
-	osmo_init_logging(&gprs_log_info);
 	osmo_stats_init(tall_pcu_ctx);
 	rate_ctr_init(tall_pcu_ctx);
 	gprs_ns_set_log_ss(DNS);
diff --git a/tests/alloc/AllocTest.cpp b/tests/alloc/AllocTest.cpp
index 9f6e6c4..64d6a50 100644
--- a/tests/alloc/AllocTest.cpp
+++ b/tests/alloc/AllocTest.cpp
@@ -797,7 +797,7 @@
 		abort();
 
 	msgb_talloc_ctx_init(tall_pcu_ctx, 0);
-	osmo_init_logging(&gprs_log_info);
+	osmo_init_logging2(tall_pcu_ctx, &gprs_log_info);
 	log_set_use_color(osmo_stderr_target, 0);
 	log_set_print_filename(osmo_stderr_target, 0);
 	if (getenv("LOGL_DEBUG"))
diff --git a/tests/alloc/MslotTest.cpp b/tests/alloc/MslotTest.cpp
index ebe04ca..8910e52 100644
--- a/tests/alloc/MslotTest.cpp
+++ b/tests/alloc/MslotTest.cpp
@@ -155,7 +155,7 @@
 
 	msgb_talloc_ctx_init(tall_pcu_ctx, 0);
 
-	osmo_init_logging(&gprs_log_info);
+	osmo_init_logging2(tall_pcu_ctx, &gprs_log_info);
 	log_set_use_color(osmo_stderr_target, 0);
 	log_set_print_filename(osmo_stderr_target, 0);
 	log_set_log_level(osmo_stderr_target, LOGL_DEBUG);
diff --git a/tests/bitcomp/BitcompTest.cpp b/tests/bitcomp/BitcompTest.cpp
index 8dd4534..98bb2cc 100644
--- a/tests/bitcomp/BitcompTest.cpp
+++ b/tests/bitcomp/BitcompTest.cpp
@@ -188,15 +188,15 @@
 
 int main(int argc, char **argv)
 {
-	osmo_init_logging(&gprs_log_info);
-	log_set_use_color(osmo_stderr_target, 0);
-	log_set_print_filename(osmo_stderr_target, 0);
-	log_parse_category_mask(osmo_stderr_target, "DRLCMACUL,1");
-
 	tall_pcu_ctx = talloc_named_const(NULL, 1, "moiji-mobile bitcompTest context");
 	if (!tall_pcu_ctx)
 		abort();
 
+	osmo_init_logging2(tall_pcu_ctx, &gprs_log_info);
+	log_set_use_color(osmo_stderr_target, 0);
+	log_set_print_filename(osmo_stderr_target, 0);
+	log_parse_category_mask(osmo_stderr_target, "DRLCMACUL,1");
+
 	test_EPDAN_decode_tree();
 
 	if (getenv("TALLOC_REPORT_FULL"))
diff --git a/tests/codel/codel_test.c b/tests/codel/codel_test.c
index 91bad13..2ce2429 100644
--- a/tests/codel/codel_test.c
+++ b/tests/codel/codel_test.c
@@ -134,7 +134,7 @@
 
 int main(int argc, char **argv)
 {
-	osmo_init_logging(&info);
+	osmo_init_logging2(NULL, &info);
 	log_set_use_color(osmo_stderr_target, 0);
 	log_set_print_filename(osmo_stderr_target, 0);
 	log_set_log_level(osmo_stderr_target, LOGL_INFO);
diff --git a/tests/edge/EdgeTest.cpp b/tests/edge/EdgeTest.cpp
index cd80c05..98ca206 100644
--- a/tests/edge/EdgeTest.cpp
+++ b/tests/edge/EdgeTest.cpp
@@ -1402,7 +1402,7 @@
 		abort();
 
 	msgb_talloc_ctx_init(tall_pcu_ctx, 0);
-	osmo_init_logging(&gprs_log_info);
+	osmo_init_logging2(tall_pcu_ctx, &gprs_log_info);
 	log_set_use_color(osmo_stderr_target, 0);
 	log_set_print_filename(osmo_stderr_target, 0);
 
diff --git a/tests/emu/pcu_emu.cpp b/tests/emu/pcu_emu.cpp
index 4cc37f3..354a328 100644
--- a/tests/emu/pcu_emu.cpp
+++ b/tests/emu/pcu_emu.cpp
@@ -112,7 +112,7 @@
 		abort();
 
 	msgb_talloc_ctx_init(tall_pcu_ctx, 0);
-	osmo_init_logging(&gprs_log_info);
+	osmo_init_logging2(tall_pcu_ctx, &gprs_log_info);
 	vty_init(&pcu_vty_info);
 	pcu_vty_init(&gprs_log_info);
 
diff --git a/tests/fn/FnTest.cpp b/tests/fn/FnTest.cpp
index 1e3ff11..35249f5 100644
--- a/tests/fn/FnTest.cpp
+++ b/tests/fn/FnTest.cpp
@@ -149,7 +149,7 @@
 		abort();
 
 	msgb_talloc_ctx_init(tall_pcu_ctx, 0);
-	osmo_init_logging(&gprs_log_info);
+	osmo_init_logging2(tall_pcu_ctx, &gprs_log_info);
 	log_set_use_color(osmo_stderr_target, 0);
 	log_set_print_filename(osmo_stderr_target, 0);
 	log_set_log_level(osmo_stderr_target, LOGL_DEBUG);
diff --git a/tests/llc/LlcTest.cpp b/tests/llc/LlcTest.cpp
index eb693f5..3083644 100644
--- a/tests/llc/LlcTest.cpp
+++ b/tests/llc/LlcTest.cpp
@@ -225,7 +225,7 @@
 		abort();
 
 	msgb_talloc_ctx_init(tall_pcu_ctx, 0);
-	osmo_init_logging(&gprs_log_info);
+	osmo_init_logging2(tall_pcu_ctx, &gprs_log_info);
 	log_set_use_color(osmo_stderr_target, 0);
 	log_set_print_filename(osmo_stderr_target, 0);
 	log_set_log_level(osmo_stderr_target, LOGL_INFO);
diff --git a/tests/ms/MsTest.cpp b/tests/ms/MsTest.cpp
index 4601504..728daf6 100644
--- a/tests/ms/MsTest.cpp
+++ b/tests/ms/MsTest.cpp
@@ -524,7 +524,7 @@
 		abort();
 
 	msgb_talloc_ctx_init(tall_pcu_ctx, 0);
-	osmo_init_logging(&gprs_log_info);
+	osmo_init_logging2(tall_pcu_ctx, &gprs_log_info);
 	log_set_use_color(osmo_stderr_target, 0);
 	log_set_print_filename(osmo_stderr_target, 0);
 	log_set_log_level(osmo_stderr_target, LOGL_INFO);
diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp
index 9155809..3de4fac 100644
--- a/tests/rlcmac/RLCMACTest.cpp
+++ b/tests/rlcmac/RLCMACTest.cpp
@@ -230,7 +230,7 @@
 int main(int argc, char *argv[])
 {
 	void *ctx = talloc_named_const(NULL, 1, "RLCMACTest");
-	osmo_init_logging(&gprs_log_info);
+	osmo_init_logging2(ctx, &gprs_log_info);
 
 	//printSizeofRLCMAC();
 	testRlcMacDownlink(ctx);
diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp
index 662708a..dfed79e 100644
--- a/tests/tbf/TbfTest.cpp
+++ b/tests/tbf/TbfTest.cpp
@@ -3233,7 +3233,7 @@
 		abort();
 
 	msgb_talloc_ctx_init(tall_pcu_ctx, 0);
-	osmo_init_logging(&gprs_log_info);
+	osmo_init_logging2(tall_pcu_ctx, &gprs_log_info);
 	log_set_use_color(osmo_stderr_target, 0);
 	log_set_print_filename(osmo_stderr_target, 0);
 	bssgp_set_log_ss(DBSSGP);
diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp
index 3a43897..1bc911f 100644
--- a/tests/types/TypesTest.cpp
+++ b/tests/types/TypesTest.cpp
@@ -487,7 +487,7 @@
 		abort();
 
 	msgb_talloc_ctx_init(tall_pcu_ctx, 0);
-	osmo_init_logging(&gprs_log_info);
+	osmo_init_logging2(tall_pcu_ctx, &gprs_log_info);
 	log_set_use_color(osmo_stderr_target, 0);
 	log_set_print_filename(osmo_stderr_target, 0);
 

-- 
To view, visit https://gerrit.osmocom.org/7604
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I2199b62d0270bd35dec2283e8f5b364b7c63915b
Gerrit-PatchSet: 1
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de>



More information about the gerrit-log mailing list