diff options
author | Harald Welte <laforge@gnumonks.org> | 2009-02-16 22:05:44 +0000 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2009-02-16 22:05:44 +0000 |
commit | 595ad7b7625645e798b80fb9e0f5bef18b8881f7 (patch) | |
tree | a44447fd8af3e0c4a3f59ffaf771d9b72b8064b5 /src/paging.c | |
parent | 75099266149b78193854e84f73910074680191fa (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.c | 18 |
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); } |