diff options
author | Harald Welte <laforge@gnumonks.org> | 2010-12-23 00:16:34 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2010-12-26 19:20:56 +0100 |
commit | f7db9c81daab53926bb1dfafbe903f738e9196e8 (patch) | |
tree | 0a51e00c3ada510af9bfaf81bbe8ca9b5ffda827 /openbsc/src | |
parent | e88e2c186c8ed92c8f44d21f9b1bfbb1c75e6526 (diff) |
MNCC: remove 'upqueue'
The MNCC messages now again get directly handled by the net->mncc_recv()
callback. If the callee wants to put them in a queue, it' his business
to do that.
Diffstat (limited to 'openbsc/src')
-rw-r--r-- | openbsc/src/bsc_api.c | 19 | ||||
-rw-r--r-- | openbsc/src/bsc_hack.c | 2 | ||||
-rw-r--r-- | openbsc/src/mncc.c | 4 |
3 files changed, 4 insertions, 21 deletions
diff --git a/openbsc/src/bsc_api.c b/openbsc/src/bsc_api.c index 267998fa6..d7be9e44c 100644 --- a/openbsc/src/bsc_api.c +++ b/openbsc/src/bsc_api.c @@ -330,25 +330,6 @@ int gsm0808_page(struct gsm_bts *bts, unsigned int page_group, unsigned int mi_l return rsl_paging_cmd(bts, page_group, mi_len, mi, chan_type); } -/* dequeue messages to layer 4 */ -int bsc_upqueue(struct gsm_network *net) -{ - struct gsm_mncc *mncc; - struct msgb *msg; - int work = 0; - - if (net) - while ((msg = msgb_dequeue(&net->upqueue))) { - mncc = (struct gsm_mncc *)msg->data; - if (net->mncc_recv) - net->mncc_recv(net, mncc->msg_type, mncc); - work = 1; /* work done */ - talloc_free(msg); - } - - return work; -} - static void handle_ass_compl(struct gsm_subscriber_connection *conn, struct msgb *msg) { diff --git a/openbsc/src/bsc_hack.c b/openbsc/src/bsc_hack.c index 967cb1d81..4adf9f9c7 100644 --- a/openbsc/src/bsc_hack.c +++ b/openbsc/src/bsc_hack.c @@ -247,6 +247,7 @@ int main(int argc, char **argv) if (rc < 0) exit(1); bsc_api_init(bsc_gsmnet, msc_bsc_api()); + mncc_sock_init(bsc_gsmnet); /* seed the PRNG */ srand(time(NULL)); @@ -287,7 +288,6 @@ int main(int argc, char **argv) } while (1) { - bsc_upqueue(bsc_gsmnet); log_reset_context(); bsc_select_main(0); } diff --git a/openbsc/src/mncc.c b/openbsc/src/mncc.c index fed866e15..affc80982 100644 --- a/openbsc/src/mncc.c +++ b/openbsc/src/mncc.c @@ -111,5 +111,7 @@ void mncc_set_cause(struct gsm_mncc *data, int loc, int val) void cc_tx_to_mncc(struct gsm_network *net, struct msgb *msg) { - msgb_enqueue(&net->upqueue, msg); + struct gsm_mncc *mncc = msgb_data(msg); + + net->mncc_recv(net, mncc->msg_type, mncc); } |