diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2016-12-23 04:26:39 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2016-12-24 17:11:52 +0000 |
commit | c014f606d055bb0ab09b6b9128078cb7a4e06c4c (patch) | |
tree | 1aef887fc7337f4c7fa431b15ff845a6cb3a9eca /src/prim.c | |
parent | eeacf906dd961002dba7e53ec9144d08a2b2d0ee (diff) |
fsm: factor out osmo_fsm_inst_term_children() from osmo_fsm_inst_term()
osmo_fsm_inst_term() has code for safe child removal, publish that part as
osmo_fsm_inst_term_children(); also use from osmo_fsm_inst_term().
As with osmo_fsm_inst_term(), add osmo_fsm_inst_term_children() macro to pass
the caller's source file and line to new _osmo_fsm_inst_term_children().
Rationale: in openbsc's VLR, I want to discard child FSMs when certain events
are handled. I could keep a pointer to each one, or simply iterate all
children, making the code a lot simpler in some places.
(Unfortunately, the patch may be displayed subobtimally. This really only moves
the children-loop to a new function, replaces it with a call to
_osmo_fsm_inst_term_children(fi, OSMO_FSM_TERM_PARENT, NULL, file, line) and
drops two local iterator variables. No other code changes are made, even though
the diff may show large removal + addition chunks)
Change-Id: I8dac1206259cbd251660f793ad023aaa1dc705a2
Diffstat (limited to 'src/prim.c')
0 files changed, 0 insertions, 0 deletions