about summary refs log tree commit diff
path: root/src/libstore/http-binary-cache-store.cc
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2016-09-20T15·25+0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2016-09-20T15·25+0200
commit794e4ab475399363982f5602ed1ba12bf0be4343 (patch)
tree75a6cdeb7abc64f96c88630fcfced59966e92407 /src/libstore/http-binary-cache-store.cc
parent4de06391058724814756a8c74ae36c279cf34006 (diff)
Fix "Promise already satisfied" error
Diffstat (limited to 'src/libstore/http-binary-cache-store.cc')
-rw-r--r--src/libstore/http-binary-cache-store.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libstore/http-binary-cache-store.cc b/src/libstore/http-binary-cache-store.cc
index 60728de04c9c..74ae7a4d198a 100644
--- a/src/libstore/http-binary-cache-store.cc
+++ b/src/libstore/http-binary-cache-store.cc
@@ -86,7 +86,9 @@ protected:
                     std::rethrow_exception(exc);
                 } catch (DownloadError & e) {
                     if (e.error == Downloader::NotFound || e.error == Downloader::Forbidden)
-                        success(0);
+                        return success(0);
+                    failure(exc);
+                } catch (...) {
                     failure(exc);
                 }
             });