nar: 'restore-file-set' registers the temporary result as a GC root.

* guix/nar.scm (temporary-store-directory): Use 'add-indirect-root', not
  'add-temp-root'.  Reported by Andreas Enge <andreas@enge.fr> at
  <https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00161.html>.
master
Ludovic Courtès 2014-04-09 23:01:02 +02:00
parent 9bf404e9e6
commit 9132b9bd72
1 changed files with 3 additions and 1 deletions

View File

@ -339,8 +339,10 @@ protected from garbage collection."
(let* ((template (string-append (%store-prefix) "/guix-XXXXXX"))
(port (mkstemp! template)))
(close-port port)
;; Make sure TEMPLATE is not collected while we populate it.
(with-store store
(add-temp-root store template))
(add-indirect-root store template))
;; There's a small window during which the GC could delete the file. Try
;; again if that happens.