Handbook
Glossary
block-if-empty ( mailbox: mailbox timeout -- mailbox )
Vocabulary
concurrency
.
mailboxes
Inputs
mailbox
a
mailbox
timeout
a
duration
or
f
Outputs
mailbox
a
mailbox
Word description
Block the thread for
timeout
if the mailbox is empty.
Definition
USING:
accessors
concurrency.conditions
deques
kernel
typed
;
IN:
concurrency.mailboxes
TYPED::
block-if-empty
( mailbox: mailbox timeout -- mailbox )
timeout
>deadline
:>
deadline mailbox
data>>
'[
_
deque-empty?
]
mailbox
threads>>
'[
_
deadline
"mailbox"
wait
]
while
mailbox
;