~ruther/guix-local

a4b42825a198eb77baefea41b58a17f6504a729c — Ludovic Courtès 12 years ago 8a9d928
offload: Bail out when failing to register a GC root on the build machine.

* guix/scripts/offload.scm (register-gc-root): Call 'leave' when
  'close-pipe' returns non-zero.
1 files changed, 6 insertions(+), 1 deletions(-)

M guix/scripts/offload.scm
M guix/scripts/offload.scm => guix/scripts/offload.scm +6 -1
@@ 317,7 317,12 @@ hook."
  (let ((pipe (remote-pipe machine OPEN_READ
                           `("guile" "-c" ,(object->string script)))))
    (get-string-all pipe)
    (close-pipe pipe)))
    (let ((status (close-pipe pipe)))
      (unless (zero? status)
        ;; Better be safe than sorry: if we ignore the error here, then FILE
        ;; may be GC'd just before we start using it.
        (leave (_ "failed to register GC root for '~a' on '~a' (status: ~a)~%")
               file machine status)))))

(define (remove-gc-root machine)
  "Remove from MACHINE the GC root previously installed with