fixes #4746
This commit is contained in:
parent
66bbf7518e
commit
2569a58f08
1 changed files with 4 additions and 2 deletions
|
|
@ -242,8 +242,10 @@ proc recv*[TMsg](c: var Channel[TMsg]): TMsg =
|
|||
|
||||
proc tryRecv*[TMsg](c: var Channel[TMsg]): tuple[dataAvailable: bool,
|
||||
msg: TMsg] =
|
||||
## try to receives a message from the channel `c` if available. Otherwise
|
||||
## it returns ``(false, default(msg))``.
|
||||
## try to receives a message from the channel `c`, but this can fail
|
||||
## for all sort of reasons, including contention. If it fails,
|
||||
## it returns ``(false, default(msg))`` otherwise it
|
||||
## returns ``(true, msg)``.
|
||||
var q = cast[PRawChannel](addr(c))
|
||||
if q.mask != ChannelDeadMask:
|
||||
if tryAcquireSys(q.lock):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue