summaryrefslogtreecommitdiffstats
path: root/lib/mqueue.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mqueue.c')
-rw-r--r--lib/mqueue.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/mqueue.c b/lib/mqueue.c
index 7156e31e..de1d654c 100644
--- a/lib/mqueue.c
+++ b/lib/mqueue.c
@@ -708,7 +708,7 @@ mqueue_done_waiting(mqueue_queue mq, mqueue_thread_signal mtsig)
} ;
/*------------------------------------------------------------------------------
- * Enqueue message on local queue
+ * Enqueue message on local queue -- at tail
*/
extern void
mqueue_local_enqueue(mqueue_local_queue lmq, mqueue_block mqb)
@@ -722,6 +722,19 @@ mqueue_local_enqueue(mqueue_local_queue lmq, mqueue_block mqb)
} ;
/*------------------------------------------------------------------------------
+ * Enqueue message on local queue -- at head
+ */
+extern void
+mqueue_local_enqueue_head(mqueue_local_queue lmq, mqueue_block mqb)
+{
+ if (lmq->head == NULL)
+ lmq->tail = mqb ;
+
+ mqb->next = lmq->head ;
+ lmq->head = mqb ;
+} ;
+
+/*------------------------------------------------------------------------------
* Dequeue message from local queue -- returns NULL if empty
*/
extern mqueue_block