From 33f71a1200c95c45652130923709b9b17a32e9a6 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Tue, 8 Oct 2019 01:11:55 +0200 Subject: [PATCH] fsm: use deferred deallocation Since osmo-bsc uses the MGCP client FSMs, it is required to enable this new feature to guarantee safe operation. The issue is described in detail in commit logs linked below. Notably, osmo-msc currently chooses to omit error handling during MGCP events (marked "FIXME"). An upcoming patch implements this error handling, and would make osmo-msc vulnerable to crash from unexpected MGCP messages without this. Deferred FSM deallocation is a more general, simpler approach to osmo_fsm_term_safely(), so we can switch that off now. Depends: Ief4dba9ea587c9b4aea69993e965fbb20fb80e78 (libosmocore), I0adc13a1a998e953b6c850efa2761350dd07e03a (libosmocore) Related: I7df2e9202b04e7ca7366bb0a8ec53cf3bb14faf3 (osmo-mgw) Change-Id: I08c03946605aa12e0a5ce8b3c773704ef5327a7a --- src/osmo-msc/msc_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/osmo-msc/msc_main.c b/src/osmo-msc/msc_main.c index 3860589e7..43a1fcbe4 100644 --- a/src/osmo-msc/msc_main.c +++ b/src/osmo-msc/msc_main.c @@ -500,7 +500,7 @@ int main(int argc, char **argv) /* Track the use of talloc NULL memory contexts */ talloc_enable_null_tracking(); - osmo_fsm_term_safely(true); + osmo_fsm_set_dealloc_ctx(OTC_SELECT); msc_vty_info.copyright = osmomsc_copyright; @@ -721,7 +721,7 @@ TODO: we probably want some of the _net_ ctrl commands from bsc_base_ctrl_cmds_i while (!quit) { log_reset_context(); - osmo_select_main(0); + osmo_select_main_ctx(0); } msc_network_shutdown(msc_network);