From 2569a58f0859c5a6335ddea88f3752bcc2238d45 Mon Sep 17 00:00:00 2001 From: Andreas Rumpf Date: Sat, 24 Sep 2016 02:27:04 +0200 Subject: [PATCH] fixes #4746 --- lib/system/channels.nim | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/system/channels.nim b/lib/system/channels.nim index 4d8bc581db..0c97bc8db0 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):