summaryrefslogtreecommitdiffstats
path: root/lib/mqueue.c
diff options
context:
space:
mode:
authorChris Hall (GMCH) <chris.hall@highwayman.com>2009-12-14 12:00:43 +0000
committerChris Hall (GMCH) <chris.hall@highwayman.com>2009-12-14 12:00:43 +0000
commit9035f1d22beec82507c1c9137e7c9fb5c4d0fbc6 (patch)
treef219daa01c52fb476e48106b3d34cf6e845f9810 /lib/mqueue.c
parentac0aad499f6d3be08710642ca93718725453ab33 (diff)
downloadquagga-9035f1d22beec82507c1c9137e7c9fb5c4d0fbc6.tar.bz2
quagga-9035f1d22beec82507c1c9137e7c9fb5c4d0fbc6.tar.xz
Fix to mqueue_dequeue in lib/mqueue.c
When adding to signal queue, must use mq->kick.signal.head == NULL to check for an empty queue (not mq->kick.signal.tail == NULL).
Diffstat (limited to 'lib/mqueue.c')
-rw-r--r--lib/mqueue.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/mqueue.c b/lib/mqueue.c
index 7b93e4b0..055086ed 100644
--- a/lib/mqueue.c
+++ b/lib/mqueue.c
@@ -437,14 +437,14 @@ mqueue_dequeue(mqueue_queue mq, int wait, void* arg)
mtsig = arg ;
dassert(mtsig != NULL) ;
- last = mq->kick.signal.tail ;
- if (last == NULL)
+ if (mq->kick.signal.head == NULL)
{
mq->kick.signal.head = mtsig ;
mtsig->prev = (void*)mq ;
}
else
{
+ last = mq->kick.signal.tail ;
last->next = mtsig ;
mtsig->prev = last ;
}