aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-12-28 17:27:05 +0100
committerHolger Hans Peter Freyther <zecke@selfish.org>2011-01-06 14:52:52 +0100
commitf72b3d51fc2843156b47fce2edb772549c05d324 (patch)
tree7aaa5795182145c629f97f80857c5ac0860f3630
parentc29043ea24198079d4b3f00fc6c482c69f3b68c4 (diff)
subscr: Kick the queue in case of a paging timeout
Kick the queue in case the paging was timing out. No one is going to call subscr_put_channel for us so we will do it on the subscriber. There is also another problem with multiple BTS in the LAC and paging timeout. We will need to remember how many BTSes we have paged.
-rw-r--r--openbsc/src/gsm_subscriber.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/openbsc/src/gsm_subscriber.c b/openbsc/src/gsm_subscriber.c
index 34163da4b..3e3e74a2b 100644
--- a/openbsc/src/gsm_subscriber.c
+++ b/openbsc/src/gsm_subscriber.c
@@ -103,6 +103,9 @@ static int subscr_paging_dispatch(unsigned int hooknum, unsigned int event,
request->cbfn(hooknum, event, msg, data, request->param);
subscr->in_callback = 0;
+ if (event != GSM_PAGING_SUCCEEDED)
+ subscr_put_channel(subscr);
+
subscr_put(subscr);
talloc_free(request);
return 0;