~ruther/guix-local

5cc569dc733c3d606be5180b43c6e8566009b4a3 — Ludovic Courtès 12 years ago 7df3ade
offload: Prevent locked files from being GC'd.

* guix/scripts/offload.scm (%slots): New variable.
  (choose-build-machine): Add SLOT to '%slots'.
1 files changed, 8 insertions(+), 1 deletions(-)

M guix/scripts/offload.scm
M guix/scripts/offload.scm => guix/scripts/offload.scm +8 -1
@@ 383,6 383,10 @@ connections allowed to MACHINE."
  "Release SLOT, a build slot as returned as by 'acquire-build-slot'."
  (close-port slot))

(define %slots
  ;; List of acquired build slots (open ports).
  '())

(define (choose-build-machine requirements machines)
  "Return the best machine among MACHINES fulfilling REQUIREMENTS, or #f."



@@ 418,7 422,10 @@ connections allowed to MACHINE."

         ;; Return the best machine unless it's already overloaded.
         (if (< (machine-load best) 2.)
             best
             (begin
               ;; Prevent SLOT from being GC'd.
               (set! %slots (cons slot %slots))
               best)
             (begin
               (release-build-slot slot)
               #f)))