summary refs log tree commit diff
path: root/gnu/build
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2023-01-29 22:13:53 +0100
committerLudovic Courtès <ludo@gnu.org>2023-01-30 22:24:27 +0100
commit52eb3db19cb9e5c294c86a8552a4baaa5b473672 (patch)
treeba94f91ca1d18cb07917ed3a45f43f03c1ac3a85 /gnu/build
parent17448c8afa507bf26509cbd0a35836f910d0bf3b (diff)
downloadguix-52eb3db19cb9e5c294c86a8552a4baaa5b473672.tar.gz
container: Correctly report exit status.
* gnu/build/linux-container.scm (container-excursion): Return the raw
status value.
* tests/containers.scm ("container-excursion, same namespaces"): Add
'status:exit-val' call.
* guix/scripts/container/exec.scm (guix-container-exec): Correctly
handle the different cases.
Diffstat (limited to 'gnu/build')
-rw-r--r--gnu/build/linux-container.scm4
1 files changed, 2 insertions, 2 deletions
diff --git a/gnu/build/linux-container.scm b/gnu/build/linux-container.scm
index 72e3a45422..d11c49c0d8 100644
--- a/gnu/build/linux-container.scm
+++ b/gnu/build/linux-container.scm
@@ -404,7 +404,7 @@ load path must be adjusted as needed."
 
 (define (container-excursion pid thunk)
   "Run THUNK as a child process within the namespaces of process PID and
-return the exit status."
+return the exit status, an integer as returned by 'waitpid'."
   (define (namespace-file pid namespace)
     (string-append "/proc/" (number->string pid) "/ns/" namespace))
 
@@ -436,7 +436,7 @@ return the exit status."
     (pid
      (match (waitpid pid)
        ((_ . status)
-        (status:exit-val status))))))
+        status)))))
 
 (define (container-excursion* pid thunk)
   "Like 'container-excursion', but return the return value of THUNK."