about summary refs log tree commit diff
path: root/src/libstore/remote-fs-accessor.cc
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2017-10-18T13·41+0200
committerEelco Dolstra <edolstra@gmail.com>2017-10-18T13·41+0200
commit75cd75b1ae3d32267ec5b92f7e047dc9ea33f075 (patch)
tree95b99f59f2dba1ae61ea5fe027e2ce7f66d3caf8 /src/libstore/remote-fs-accessor.cc
parentd8306148e04919b5ecf0e6fb58682a38d99ef944 (diff)
Errors writing to the NAR cache should not be fatal
Diffstat (limited to 'src/libstore/remote-fs-accessor.cc')
-rw-r--r--src/libstore/remote-fs-accessor.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libstore/remote-fs-accessor.cc b/src/libstore/remote-fs-accessor.cc
index 9396912046..ba9620a175 100644
--- a/src/libstore/remote-fs-accessor.cc
+++ b/src/libstore/remote-fs-accessor.cc
@@ -19,9 +19,13 @@ Path RemoteFSAccessor::makeCacheFile(const Path & storePath)
 
 void RemoteFSAccessor::addToCache(const Path & storePath, const std::string & nar)
 {
-    if (cacheDir != "")
+    try {
+        if (cacheDir == "") return;
         /* FIXME: do this asynchronously. */
         writeFile(makeCacheFile(storePath), nar);
+    } catch (...) {
+        ignoreException();
+    }
 }
 
 std::pair<ref<FSAccessor>, Path> RemoteFSAccessor::fetch(const Path & path_)