aboutsummaryrefslogtreecommitdiffstats
path: root/src/libmsc/gsm_04_11.c
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2017-11-22 14:33:12 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2017-11-27 15:40:01 +0100
commit6166f29412ef1dc3395dcee914ec98bd013663b4 (patch)
treeccbb38f1d76ae3126dd4ef967a4103b827f18f13 /src/libmsc/gsm_04_11.c
parent2f108b09a953ee1285a8ebff948a3ad7bfa77780 (diff)
subscr_conn: introduce usage tokens for ref error tracking
When hunting a conn use count bug, it was very hard to figure out who's (not) using the conn. To ease tracking down this bug and future bugs, explicitly name what a conn is being reserved for, and track in a bit mask. Show in the DREF logs what uses and un-uses a conn. See the test expectation updates, which nicely show how that clarifies the state of the conn in the logs. On errors, log them, but don't fail hard: if one conn use/un-use fails, we don't want to crash the entire MSC before we have to. Change-Id: I259aa0eec41efebb4c8221275219433eafaa549b
Diffstat (limited to 'src/libmsc/gsm_04_11.c')
-rw-r--r--src/libmsc/gsm_04_11.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libmsc/gsm_04_11.c b/src/libmsc/gsm_04_11.c
index 103c259c2..50242a61b 100644
--- a/src/libmsc/gsm_04_11.c
+++ b/src/libmsc/gsm_04_11.c
@@ -949,7 +949,7 @@ int gsm0411_rcv_sms(struct gsm_subscriber_connection *conn,
gsm411_smr_init(&trans->sms.smr_inst, 0, 1,
gsm411_rl_recv, gsm411_mn_send);
- trans->conn = msc_subscr_conn_get(conn);
+ trans->conn = msc_subscr_conn_get(conn, MSC_CONN_USE_TRANS_SMS);
new_trans = 1;
cm_service_request_concludes(conn, msg);
@@ -1031,7 +1031,7 @@ int gsm411_send_sms(struct gsm_subscriber_connection *conn, struct gsm_sms *sms)
gsm411_rl_recv, gsm411_mn_send);
trans->sms.sms = sms;
- trans->conn = msc_subscr_conn_get(conn);
+ trans->conn = msc_subscr_conn_get(conn, MSC_CONN_USE_TRANS_SMS);
/* Hardcode SMSC Originating Address for now */
data = (uint8_t *)msgb_put(msg, 8);