diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2019-02-19 02:36:35 +0100 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2019-04-12 02:15:25 +0200 |
commit | 7c5346cd7005ad469702a2f74572b79de738fbbb (patch) | |
tree | f03af83b8c1047516e442521b71bba33c9e17a32 /src/libmsc/sms_queue.c | |
parent | d553c085e7fbe4b41234e821896e6e6bbcc1e201 (diff) |
vlr_subscr: use osmo_use_count
Depends: Ife31e6798b4e728a23913179e346552a7dd338c0 (libosmocore)
Change-Id: Ib06d030e8464abe415ff597d462ed40eeddef475
Diffstat (limited to 'src/libmsc/sms_queue.c')
-rw-r--r-- | src/libmsc/sms_queue.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/libmsc/sms_queue.c b/src/libmsc/sms_queue.c index 4de30ad43..a56814d68 100644 --- a/src/libmsc/sms_queue.c +++ b/src/libmsc/sms_queue.c @@ -118,14 +118,15 @@ static struct gsm_sms_pending *sms_pending_from(struct gsm_sms_queue *smsq, if (!pending) return NULL; - pending->vsub = vlr_subscr_get(sms->receiver); + vlr_subscr_get(sms->receiver, VSUB_USE_SMS_PENDING); + pending->vsub = sms->receiver; pending->sms_id = sms->id; return pending; } static void sms_pending_free(struct gsm_sms_pending *pending) { - vlr_subscr_put(pending->vsub); + vlr_subscr_put(pending->vsub, VSUB_USE_SMS_PENDING); llist_del(&pending->entry); talloc_free(pending); } @@ -482,12 +483,13 @@ static int sms_sms_cb(unsigned int subsys, unsigned int signal, case S_SMS_DELIVERED: /* Remember the subscriber and clear the pending entry */ network->sms_queue->pending -= 1; - vsub = vlr_subscr_get(pending->vsub); + vsub = pending->vsub; + vlr_subscr_get(vsub, __func__); db_sms_delete_sent_message_by_id(pending->sms_id); sms_pending_free(pending); /* Attempt to send another SMS to this subscriber */ sms_send_next(vsub); - vlr_subscr_put(vsub); + vlr_subscr_put(vsub, __func__); break; case S_SMS_MEM_EXCEEDED: network->sms_queue->pending -= 1; |