summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2016-12-15 02:26:03 +0100
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2016-12-16 13:39:24 +0100
commit2ae5f186929a720b5604e2bd19ef54606b37fb87 (patch)
treeae3d6dd5e037697327f29f2e4a471b6977988fd6
parent5c5c78aacd4cd15e1147c2e5dbb4dc9fca4da7e5 (diff)
fsm: explicitly log removal from parent fsm
Since removing an FSM from its parent twice causes a segfault, it is very interesting to see when that is attempted. Removing could be made more robust, but logging is interesting for investigating why an FSM is being removed twice in the first place (currently the case in openbsc's vlr_lu_fsm). Change-Id: Idec6b7aa5344f1e903c9d2aa2a3640cab0d70fb0
-rw-r--r--src/fsm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/fsm.c b/src/fsm.c
index d251cfdb..67175388 100644
--- a/src/fsm.c
+++ b/src/fsm.c
@@ -442,6 +442,9 @@ void _osmo_fsm_inst_term(struct osmo_fsm_inst *fi,
}
/* delete ourselves from the parent */
+ if (parent)
+ LOGPFSMSRC(fi, file, line, "Removing from parent %s\n",
+ osmo_fsm_inst_name(parent));
llist_del(&fi->proc.child);
/* call destructor / clean-up function */