diff options
author | Stefan Sperling <ssperling@sysmocom.de> | 2018-05-15 14:48:04 +0200 |
---|---|---|
committer | Stefan Sperling <ssperling@sysmocom.de> | 2018-05-15 18:46:25 +0200 |
commit | 60af0c888fb69b8f8dc75e41a1bf96309b6f0ea6 (patch) | |
tree | 169fcfd9ac760635e217abf5def8e44289fa313d /src/libmsc/subscr_conn.c | |
parent | cb8c75bba030c7ab9f2e49b2f40292a1738f3220 (diff) |
add a test; set lu expiry timestampstsp/lu_expire
Change-Id: Iebdee8b12d22acfcfb265ee41e71cfc8d9eb3ba9
Diffstat (limited to 'src/libmsc/subscr_conn.c')
-rw-r--r-- | src/libmsc/subscr_conn.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/libmsc/subscr_conn.c b/src/libmsc/subscr_conn.c index 1b3b24042..50d7be649 100644 --- a/src/libmsc/subscr_conn.c +++ b/src/libmsc/subscr_conn.c @@ -202,6 +202,11 @@ static bool subscr_conn_fsm_has_active_transactions(struct osmo_fsm_inst *fi) static void subscr_conn_fsm_accepted_enter(struct osmo_fsm_inst *fi, uint32_t prev_state) { + struct gsm_subscriber_connection *conn = fi->priv; + + /* Stop location update expiry for this subscriber. */ + conn->vsub->expire_lu = GSM_SUBSCRIBER_NO_EXPIRATION; + if (!subscr_conn_fsm_has_active_transactions(fi)) osmo_fsm_inst_dispatch(fi, SUBSCR_CONN_E_UNUSED, NULL); } @@ -278,6 +283,11 @@ static void subscr_conn_fsm_releasing_onenter(struct osmo_fsm_inst *fi, uint32_t /* Cancel all VLR FSMs, if any */ vlr_subscr_cancel_attach_fsm(conn->vsub, OSMO_FSM_TERM_ERROR, GSM48_REJECT_CONGESTION); + if (conn->vsub) { + /* Restart LU expiry for this subscriber. */ + vlr_subscr_enable_expire_lu(conn->vsub); + } + /* If we're closing in a middle of a trans, we need to clean up */ trans_conn_closed(conn); |