projects
/
lcr.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mncc_sock: properly append an element to the end of the list
[lcr.git]
/
gsm_bs.cpp
diff --git
a/gsm_bs.cpp
b/gsm_bs.cpp
index
710c237
..
8bb647f
100644
(file)
--- a/
gsm_bs.cpp
+++ b/
gsm_bs.cpp
@@
-815,6
+815,7
@@
static int mncc_q_enqueue(struct gsm_mncc *mncc, unsigned int len)
} else {
/* append to tail of list */
gsm->mncc_q_tail->next = qe;
} else {
/* append to tail of list */
gsm->mncc_q_tail->next = qe;
+ gsm->mncc_q_tail = qe;
}
gsm->mncc_lfd.when |= LCR_FD_WRITE;
}
gsm->mncc_lfd.when |= LCR_FD_WRITE;
@@
-846,7
+847,7
@@
int mncc_send(struct gsm_network *instance, int msg_type, void *data)
/* FIXME: the caller should provide this */
switch (msg_type) {
case GSM_TCHF_FRAME:
/* FIXME: the caller should provide this */
switch (msg_type) {
case GSM_TCHF_FRAME:
- len = 33;
+ len =
sizeof(struct gsm_data_frame) +
33;
break;
default:
len = sizeof(struct gsm_mncc);
break;
default:
len = sizeof(struct gsm_mncc);
@@
-861,6
+862,7
@@
int mncc_send(struct gsm_network *instance, int msg_type, void *data)
/* close MNCC socket */
static int mncc_fd_close(struct lcr_fd *lfd)
{
/* close MNCC socket */
static int mncc_fd_close(struct lcr_fd *lfd)
{
+ printf("mncc_sock: closing\n");
close(lfd->fd);
unregister_fd(lfd);
lfd->fd = -1;
close(lfd->fd);
unregister_fd(lfd);
lfd->fd = -1;