summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2014-12-10 13:53:04 +0100
committerLudovic Courtès <ludo@gnu.org>2015-05-11 17:44:08 +0200
commit3bfa70b7963e12be346900e64ae45fa019850675 (patch)
tree8613ca410f37b5863b87174117cc9746242af921
parent5241aec531e9c9a4b2dd5e5b6ee3f07ff049d9a5 (diff)
downloadguix-3bfa70b7963e12be346900e64ae45fa019850675.tar.gz
Don't wait for PID -1
The pid field can be -1 if forking the substituter process failed.
-rw-r--r--nix/libstore/local-store.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/nix/libstore/local-store.cc b/nix/libstore/local-store.cc
index e3de33b6e4..c262b81f1d 100644
--- a/nix/libstore/local-store.cc
+++ b/nix/libstore/local-store.cc
@@ -358,7 +358,8 @@ LocalStore::~LocalStore()
             i->second.to.close();
             i->second.from.close();
             i->second.error.close();
-            i->second.pid.wait(true);
+            if (i->second.pid != -1)
+                i->second.pid.wait(true);
         }
     } catch (...) {
         ignoreException();