diff options
| author | Neels Hofmeyr <neels@hofmeyr.de> | 2019-04-08 00:33:53 +0200 | 
|---|---|---|
| committer | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2019-04-11 05:36:36 +0000 | 
| commit | 3b414a4adc8687af1a32f36fc1553bc65fb6b348 (patch) | |
| tree | cccdbc0a83ec0789968a73293520c960584b0996 /include | |
| parent | 223d66a41455033e77e8c2cbb8170eaf0217b954 (diff) | |
fsm: add flag to ensure osmo_fsm_inst_term() happens only once
To prevent re-entering osmo_fsm_inst_term() twice for the same osmo_fsm_inst,
add flag osmo_fsm_inst.proc.terminating. osmo_fsm_inst_term() sets this to
true, or exits if it already is true.
Update fsm_dealloc_test.err for illustration. It is not relevant for unit
testing yet, just showing the difference.
Change-Id: I0c02d76a86f90c49e0eae2f85db64704c96a7674
Diffstat (limited to 'include')
| -rw-r--r-- | include/osmocom/core/fsm.h | 2 | 
1 files changed, 2 insertions, 0 deletions
diff --git a/include/osmocom/core/fsm.h b/include/osmocom/core/fsm.h index c40d7f3c..07bcd126 100644 --- a/include/osmocom/core/fsm.h +++ b/include/osmocom/core/fsm.h @@ -114,6 +114,8 @@ struct osmo_fsm_inst {  		struct llist_head children;  		/*! \ref llist_head linked to parent->proc.children */  		struct llist_head child; +		/*! Indicator whether osmo_fsm_inst_term() was already invoked on this instance. */ +		bool terminating;  	} proc;  };  | 
