block-if-empty ( mailbox: mailbox timeout -- mailbox )


Vocabulary
concurrency.mailboxes

Inputs
mailboxa mailbox
timeouta duration or f


Outputs
mailboxa mailbox


Word description
Block the thread for timeout if the mailbox is empty.

Definition


TYPED:: block-if-empty
( mailbox: mailbox timeout -- mailbox )
mailbox data>> [ deque-empty? ] curry mailbox threads>>
[ timeout "mailbox" wait ] curry while mailbox ;