aboutsummaryrefslogtreecommitdiffstats
path: root/src/paging.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2009-02-06 12:52:14 +0000
committerHarald Welte <laforge@gnumonks.org>2009-02-06 12:52:14 +0000
commit763da00e97035f8ff4addebb4d30e756d6f39077 (patch)
treeff58a7436ccfdfd1c789fd84a9a99047da7b741a /src/paging.c
parent91b5b0d41d5361e7340f674a9e9a1ebac7c8c5b4 (diff)
add new routine to stop paging
Diffstat (limited to 'src/paging.c')
-rw-r--r--src/paging.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/paging.c b/src/paging.c
index 29e97e588..40fe7893b 100644
--- a/src/paging.c
+++ b/src/paging.c
@@ -174,3 +174,23 @@ void page_request(struct gsm_bts *bts, struct gsm_subscriber *subscr, int type)
free(req);
return;
}
+
+/* we consciously ignore the type of the request here */
+void page_request_stop(struct gsm_bts *bts, struct gsm_subscriber *subscr)
+{
+ struct paging_bts *bts_entry;
+ struct paging_request *req, *req2;
+
+ llist_for_each_entry(bts_entry, &managed_bts, bts_list) {
+ if (bts == bts_entry->bts)
+ break;
+ }
+ if (!bts_entry)
+ return;
+
+ llist_for_each_entry_safe(req, req2, &bts_entry->pending_requests,
+ entry) {
+ if (req->subscr == subscr)
+ llist_del(&req->entry);
+ }
+}