diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/system/channels.nim | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/system/channels.nim b/lib/system/channels.nim index 4d8bc581d..0c97bc8db 100644 --- a/lib/system/channels.nim +++ b/lib/system/channels.nim @@ -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): |