[MERGED] libosmocore[master]: Add logging and testing for FSM deallocation

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/.

Harald Welte gerrit-no-reply at lists.osmocom.org
Tue Nov 8 19:35:20 UTC 2016


Harald Welte has submitted this change and it was merged.

Change subject: Add logging and testing for FSM deallocation
......................................................................


Add logging and testing for FSM deallocation

osmo_fsm_inst_alloc() logs allocation but osmo_fsm_inst_free() is
silent. Fix this by adding log message for deallocation to make FSM
lifecycle tracking easier. Also make sure it's covered by test suite.

Change-Id: I7e5b55a1fff8e36cf61c7fb61d3e79c1f00e29d2
---
M src/fsm.c
M tests/fsm/fsm_test.c
2 files changed, 6 insertions(+), 4 deletions(-)

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



diff --git a/src/fsm.c b/src/fsm.c
index f525f40..9dc6b98 100644
--- a/src/fsm.c
+++ b/src/fsm.c
@@ -233,6 +233,7 @@
  */
 void osmo_fsm_inst_free(struct osmo_fsm_inst *fi)
 {
+	LOGPFSM(fi, "Deallocated\n");
 	osmo_timer_del(&fi->timer);
 	llist_del(&fi->list);
 	talloc_free(fi);
diff --git a/tests/fsm/fsm_test.c b/tests/fsm/fsm_test.c
index 29b31ef..edbba9e 100644
--- a/tests/fsm/fsm_test.c
+++ b/tests/fsm/fsm_test.c
@@ -89,7 +89,7 @@
 	.log_subsys = DMAIN,
 };
 
-static int foo(void)
+static struct osmo_fsm_inst *foo(void)
 {
 	struct osmo_fsm_inst *fi;
 
@@ -115,7 +115,7 @@
 	OSMO_ASSERT(fi->state == ST_TWO);
 
 
-	return 0;
+	return fi;
 }
 
 static const struct log_info_cat default_categories[] = {
@@ -134,6 +134,7 @@
 int main(int argc, char **argv)
 {
 	struct log_target *stderr_target;
+	struct osmo_fsm_inst *finst;
 
 	osmo_fsm_log_addr(false);
 
@@ -145,12 +146,12 @@
 	g_ctx = NULL;
 	osmo_fsm_register(&fsm);
 
-	foo();
+	finst = foo();
 
 	while (1) {
 		osmo_select_main(0);
 	}
-
+	osmo_fsm_inst_free(finst);
 	osmo_fsm_unregister(&fsm);
 	exit(0);
 }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I7e5b55a1fff8e36cf61c7fb61d3e79c1f00e29d2
Gerrit-PatchSet: 4
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Max <msuraev at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max <msuraev at sysmocom.de>
Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de>



More information about the gerrit-log mailing list