aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-05-24 18:36:44 +0200
committerHarald Welte <laforge@gnumonks.org>2018-06-08 16:16:42 +0000
commit8d6f444191f070a25d1482fbce8c80cd196a94f7 (patch)
tree7ab976afed7cd81b0226f68ec7d44730a1125d73
parentd3fff6f53214def3b4d3afc2f38d652ce83b13ef (diff)
gscon: put subscriber a little later
Keep the bsc_subscr associated with the conn as long as possible, to benefit logging, which then contains the subscriber identity (if any). Change-Id: Ifa528b58842a02509bfe0af6915c64bd67058bcd
-rw-r--r--src/osmo-bsc/bsc_subscr_conn_fsm.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c
index b46eb9481..2ae4b33a3 100644
--- a/src/osmo-bsc/bsc_subscr_conn_fsm.c
+++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c
@@ -995,12 +995,6 @@ static void gscon_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cau
conn->lchan = NULL;
}
- if (conn->bsub) {
- LOGPFSML(fi, LOGL_DEBUG, "Putting bsc_subscr\n");
- bsc_subscr_put(conn->bsub);
- conn->bsub = NULL;
- }
-
if (conn->sccp.state != SUBSCR_SCCP_ST_NONE) {
LOGPFSML(fi, LOGL_DEBUG, "Disconnecting SCCP\n");
struct bsc_msc_data *msc = conn->sccp.msc;
@@ -1014,6 +1008,12 @@ static void gscon_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cau
penalty_timers_free(&conn->hodec2.penalty_timers);
+ if (conn->bsub) {
+ LOGPFSML(fi, LOGL_DEBUG, "Putting bsc_subscr\n");
+ bsc_subscr_put(conn->bsub);
+ conn->bsub = NULL;
+ }
+
llist_del(&conn->entry);
talloc_free(conn);
fi->priv = NULL;