aboutsummaryrefslogtreecommitdiffstats
path: root/src/paging.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2009-02-16 22:05:44 +0000
committerHarald Welte <laforge@gnumonks.org>2009-02-16 22:05:44 +0000
commit595ad7b7625645e798b80fb9e0f5bef18b8881f7 (patch)
treea44447fd8af3e0c4a3f59ffaf771d9b72b8064b5 /src/paging.c
parent75099266149b78193854e84f73910074680191fa (diff)
modify the signal handler/dispatch code (sorry zecke, no offense, I just had some different ideas)
* introduce new notion of subsystem in addition to signal number * no need for bitmasks of 'areas' (aka subsystems) * pass subsystem/signal_nr/... per argument rather than by data structure
Diffstat (limited to 'src/paging.c')
-rw-r--r--src/paging.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/src/paging.c b/src/paging.c
index ed40c0794..8597463ec 100644
--- a/src/paging.c
+++ b/src/paging.c
@@ -164,7 +164,7 @@ void paging_init(struct gsm_bts *bts)
INIT_LLIST_HEAD(&bts->paging.pending_requests);
/* Large number, until we get a proper message */
- bts->paging.available_slots = 0x0;
+ bts->paging.available_slots = 10;
}
static int paging_pending_request(struct gsm_bts_paging_state *bts,
@@ -182,20 +182,16 @@ static int paging_pending_request(struct gsm_bts_paging_state *bts,
static void paging_T3113_expired(void *data)
{
struct gsm_paging_request *req = (struct gsm_paging_request *)data;
+ struct paging_signal_data sig_data;
DEBUGP(DPAG, "T3113 expired for request %p (%s)\n",
req, req->subscr->imsi);
- struct paging_signal_data sig_data = {
- .data = {
- .area = S_PAGING,
- },
- .subscr = req->subscr,
- .bts = req->bts,
- .lchan = NULL,
- };
-
- dispatch_signal(&sig_data.data);
+ sig_data.subscr = req->subscr,
+ sig_data.bts = req->bts,
+ sig_data.lchan = NULL,
+
+ dispatch_signal(SS_PAGING, S_PAGING_COMPLETED, &sig_data);
paging_remove_request(&req->bts->paging, req);
}