diff options
Diffstat (limited to 'gtp/queue.c')
-rw-r--r-- | gtp/queue.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gtp/queue.c b/gtp/queue.c index ce4713e..4c25913 100644 --- a/gtp/queue.c +++ b/gtp/queue.c @@ -172,6 +172,7 @@ int queue_newmsg(struct queue_t *queue, struct qmsg_t **qmsg, } else { *qmsg = &queue->qmsga[queue->next]; queue_seqset(queue, *qmsg, peer, seq); + INIT_LLIST_HEAD(&(*qmsg)->entry); (*qmsg)->state = 1; /* Space taken */ (*qmsg)->this = queue->next; (*qmsg)->next = -1; /* End of the queue */ @@ -206,6 +207,8 @@ int queue_freemsg(struct queue_t *queue, struct qmsg_t *qmsg) return EOF; /* Not in queue */ } + llist_del(&qmsg->entry); + queue_seqdel(queue, qmsg); if (qmsg->next == -1) /* Are we the last in queue? */ |