projects
/
eow
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
35cc799
)
Ensure there actually was an element in the queue to return
author
Gerd Flaig
<gefla@pond.sub.org>
Sat, 27 Jun 2009 18:04:42 +0000
(20:04 +0200)
committer
Gerd Flaig
<gefla@pond.sub.org>
Sat, 27 Jun 2009 18:04:42 +0000
(20:04 +0200)
locked-queue.lisp
patch
|
blob
|
history
diff --git
a/locked-queue.lisp
b/locked-queue.lisp
index d225faccc7e7242eb998dcfe897802e70efe3da8..8fd9270e9769cbec8f1fbea29c6a7af3ff1a0799 100644
(file)
--- a/
locked-queue.lisp
+++ b/
locked-queue.lisp
@@
-13,9
+13,9
@@
(defmethod dequeue ((q locked-queue))
(with-slots (queue mutex waitq) q
(with-mutex (mutex)
- (
if
(or (null queue)
- (null (first queue)))
- (condition-wait waitq mutex))
+ (
loop while
(or (null queue)
+
(null (first queue)))
+
do
(condition-wait waitq mutex))
(prog1 (first (car queue))
(setf (car queue)
(rest (car queue)))))))