diff options
author | Dominik Picheta <dominikpicheta@googlemail.com> | 2018-09-03 21:34:52 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-03 21:34:52 +0100 |
commit | e789acb59b03b250477a84ba6b10fd0391c45b2f (patch) | |
tree | 2c0c833de72ad6d0e7f711013672c1706583ff11 /lib | |
parent | e4be1cb81477f32b33722dabde9776cb676e363e (diff) | |
parent | ac066c5db0d04ebc40180ba6e10bcde7a305198c (diff) | |
download | Nim-e789acb59b03b250477a84ba6b10fd0391c45b2f.tar.gz |
Merge pull request #8840 from pigmej/fix_with_timeout
Handle fut.failed in asyncdispatch.WithTimeout
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pure/asyncdispatch.nim | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/pure/asyncdispatch.nim b/lib/pure/asyncdispatch.nim index 093bf58af..820f34703 100644 --- a/lib/pure/asyncdispatch.nim +++ b/lib/pure/asyncdispatch.nim @@ -1536,7 +1536,11 @@ proc withTimeout*[T](fut: Future[T], timeout: int): Future[bool] = var timeoutFuture = sleepAsync(timeout) fut.callback = proc () = - if not retFuture.finished: retFuture.complete(true) + if not retFuture.finished: + if fut.failed: + retFuture.fail(fut.error) + else: + retFuture.complete(true) timeoutFuture.callback = proc () = if not retFuture.finished: retFuture.complete(false) |