Implements a thread-safe message queue.
(dequeue queue) |
function |
DO: Atomically, dequeue the first message from the QUEUE. If the queue is empty, then wait on the not-empty condition of the queue. RETURN: the dequeued MESSAGE.
(enqueue queue message) |
function |
DO: Atomically enqueues the MESSAGE in the QUEUE. If the queue was empty, then a condition-notify is sent on the queue not-empty condition. RETURN: MESSAGE
(make-queue name) |
function |
RETURN: A new queue named NAME
QUEUE
(queue-count queue) |
function |
RETURN: The number of entries in the QUEUE. NOTE: The result may be falsified immediately, if another thread enqueues or dequeues.
(queue-emptyp queue) |
function |
RETURN: Whether the queue is empty. NOTE: The result may be falsified immediately, becoming false if another thread enqueues, or becoming true if another thread dequeues.
(queue-name queue) |
function |
RETURN: The name of the QUEUE.
(queuep x) |
function |
RETURN: Predicate for the QUEUE type.