summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2014-11-12 11:35:53 +0100
committerLudovic Courtès <ludo@gnu.org>2015-05-11 17:39:20 +0200
commite0825bd36b43f3c1d408745a9c61f92fdaf7dace (patch)
treeee72159048ba956650244aeeae5e0ea8693ec7c4
parent86b9e6d4575e5c93f428b8563ae259f0f4014173 (diff)
downloadguix-e0825bd36b43f3c1d408745a9c61f92fdaf7dace.tar.gz
Make ~DerivationGoal more reliable
-rw-r--r--nix/libstore/build.cc10
1 files changed, 3 insertions, 7 deletions
diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc
index 19d22ac374..49a6ac9704 100644
--- a/nix/libstore/build.cc
+++ b/nix/libstore/build.cc
@@ -863,13 +863,9 @@ DerivationGoal::~DerivationGoal()
 {
     /* Careful: we should never ever throw an exception from a
        destructor. */
-    try {
-        killChild();
-        deleteTmpDir(false);
-        closeLogFile();
-    } catch (...) {
-        ignoreException();
-    }
+    try { killChild(); } catch (...) { ignoreException(); }
+    try { deleteTmpDir(false); } catch (...) { ignoreException(); }
+    try { closeLogFile(); } catch (...) { ignoreException(); }
 }