diff options
author | Jedrzej Nowak <pigmej@gmail.com> | 2018-09-02 01:49:03 +0200 |
---|---|---|
committer | Jedrzej Nowak <pigmej@gmail.com> | 2018-09-02 01:49:03 +0200 |
commit | ac066c5db0d04ebc40180ba6e10bcde7a305198c (patch) | |
tree | abd4936412a9be4a4407b1b270df8d1c570267e8 /lib | |
parent | d06da9ccf01d41d06849f890e2821b8e791535ac (diff) | |
download | Nim-ac066c5db0d04ebc40180ba6e10bcde7a305198c.tar.gz |
Handle fut.failed in asyncdispatch.WithTimeout
Fixes: #8839
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) |