about summary refs log tree commit diff
path: root/src/libstore
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstore')
-rw-r--r--src/libstore/build.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc
index c076ea8b0007..abfae3c7cf64 100644
--- a/src/libstore/build.cc
+++ b/src/libstore/build.cc
@@ -4471,7 +4471,15 @@ void Worker::waitForInput()
 
 unsigned int Worker::exitStatus()
 {
-    return checkMismatch ? 104 : (hashMismatch ? 102 : (timedOut ? 101 : (permanentFailure ? 100 : 1)));
+    unsigned int mask = 0;
+    if (timedOut)
+        mask |= 1;
+    if (hashMismatch)
+        mask |= 2;
+    if (checkMismatch)
+        mask |= 4;
+
+    return mask ? 100 + mask : 1;
 }