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