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.