aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmocom/bsc
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-07-20 05:35:47 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2018-07-28 12:18:23 +0200
commitd5df9a1d0d996acf0d090793231cae3346f6fbd4 (patch)
tree654097bdc38dbbc46fb97e21dfdd1162dc8a89e8 /include/osmocom/bsc
parentac85b34476afc341af7e09e9eca368835cd9d68b (diff)
lchan_fsm: add in_release_handler flag
If a release event is being handled, ignore other ricocheting release events until that release handling has concluded. For example, if an lchan is regularly released, it signals the lchan RTP FSM to release, which then calls back to say "RTP is released" on termination -- this should not trigger other state changes than the initial release intends. Change-Id: Iec41e006b6ab9d0f618d36925341f9536353e5d8
Diffstat (limited to 'include/osmocom/bsc')
-rw-r--r--include/osmocom/bsc/gsm_data.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index 12bc5c354..448924c06 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -525,6 +525,10 @@ struct gsm_lchan {
/* RSL error code, RSL_ERR_* */
uint8_t rsl_error_cause;
+ /* If a release event is being handled, ignore other ricocheting release events until that
+ * release handling has concluded. */
+ bool in_release_handler;
+
/* The logical channel type */
enum gsm_chan_t type;
/* RSL channel mode */