utils: 'with-atomic-file-output' closes the port upon exception.

Previously it could have left the file descriptor open.

* guix/utils.scm (with-atomic-file-output): Call 'close-port' in handler.
This commit is contained in:
Ludovic Courtès 2016-06-13 18:00:29 +02:00
parent d1f33ba44b
commit c25637dfe8
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -630,7 +630,8 @@ (define (with-atomic-file-output file proc)
(rename-file template file)
result))
(lambda (key . args)
(false-if-exception (delete-file template))))))
(false-if-exception (delete-file template))
(close-port out)))))
(define (cache-directory)
"Return the cache directory for Guix, by default ~/.cache/guix."