utils: Really clean up temporary directories.

Fixes <https://bugs.gnu.org/32126>.

* guix/utils.scm (call-with-temporary-directory): Use DELETE-FILE-RECURSIVELY
instead of RMDIR.
This commit is contained in:
Leo Famulari 2018-07-11 20:24:29 -04:00
parent 92bcccc51f
commit 27f7cbc91d
No known key found for this signature in database
GPG Key ID: 2646FA30BACA7F08

View File

@ -33,10 +33,11 @@
#:use-module (srfi srfi-35) #:use-module (srfi srfi-35)
#:use-module (srfi srfi-39) #:use-module (srfi srfi-39)
#:use-module (ice-9 binary-ports) #:use-module (ice-9 binary-ports)
#:use-module (ice-9 ftw)
#:autoload (rnrs io ports) (make-custom-binary-input-port) #:autoload (rnrs io ports) (make-custom-binary-input-port)
#:use-module ((rnrs bytevectors) #:select (bytevector-u8-set!)) #:use-module ((rnrs bytevectors) #:select (bytevector-u8-set!))
#:use-module (guix memoization) #:use-module (guix memoization)
#:use-module ((guix build utils) #:select (dump-port mkdir-p)) #:use-module ((guix build utils) #:select (dump-port mkdir-p delete-file-recursively))
#:use-module ((guix build syscalls) #:select (mkdtemp! fdatasync)) #:use-module ((guix build syscalls) #:select (mkdtemp! fdatasync))
#:use-module (ice-9 format) #:use-module (ice-9 format)
#:autoload (ice-9 popen) (open-pipe*) #:autoload (ice-9 popen) (open-pipe*)
@ -631,7 +632,7 @@ delete it when leaving the dynamic extent of this call."
(lambda () (lambda ()
(proc tmp-dir)) (proc tmp-dir))
(lambda () (lambda ()
(false-if-exception (rmdir tmp-dir)))))) (false-if-exception (delete-file-recursively tmp-dir))))))
(define (with-atomic-file-output file proc) (define (with-atomic-file-output file proc)
"Call PROC with an output port for the file that is going to replace FILE. "Call PROC with an output port for the file that is going to replace FILE.