[paging] Discard paging requests after not completing them...
This commit is contained in:
parent
1525de0c8f
commit
bf83481799
15
src/paging.c
15
src/paging.c
|
@ -78,15 +78,20 @@ static void page_handle_pending_requests(void *data) {
|
||||||
/* handle the paging request now */
|
/* handle the paging request now */
|
||||||
DEBUGP(DPAG, "Going to send paging commands: '%s'\n",
|
DEBUGP(DPAG, "Going to send paging commands: '%s'\n",
|
||||||
paging_bts->last_request->subscr->imsi);
|
paging_bts->last_request->subscr->imsi);
|
||||||
|
++paging_bts->last_request->requests;
|
||||||
tmsi = strtoul(paging_bts->last_request->subscr->tmsi, NULL, 10);
|
tmsi = strtoul(paging_bts->last_request->subscr->tmsi, NULL, 10);
|
||||||
mi_len = generate_mid_from_tmsi(mi, tmsi);
|
mi_len = generate_mid_from_tmsi(mi, tmsi);
|
||||||
rsl_paging_cmd(paging_bts->bts, 1, mi_len, mi, RSL_CHANNEED_TCH_F);
|
rsl_paging_cmd(paging_bts->bts, 1, mi_len, mi, RSL_CHANNEED_TCH_F);
|
||||||
|
|
||||||
/* move to the next item */
|
if (paging_bts->last_request->requests > 1500) {
|
||||||
paging_bts->last_request =
|
page_remove_request(paging_bts);
|
||||||
(struct paging_request *)paging_bts->last_request->entry.next;
|
} else {
|
||||||
if (&paging_bts->last_request->entry == &paging_bts->pending_requests)
|
/* move to the next item */
|
||||||
paging_bts->last_request = NULL;
|
paging_bts->last_request =
|
||||||
|
(struct paging_request *)paging_bts->last_request->entry.next;
|
||||||
|
if (&paging_bts->last_request->entry == &paging_bts->pending_requests)
|
||||||
|
paging_bts->last_request = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
schedule_timer(&paging_bts->page_timer, PAGING_TIMEOUT);
|
schedule_timer(&paging_bts->page_timer, PAGING_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue