diff options
author | Mathieu Othacehe <othacehe@gnu.org> | 2021-03-05 12:49:06 +0100 |
---|---|---|
committer | Mathieu Othacehe <othacehe@gnu.org> | 2021-03-10 08:49:48 +0100 |
commit | 6ee7e3d26b8f5d2a234518cc2ab1bfeba7cd7c18 (patch) | |
tree | 241d99071853313c5392b9be180b7a4cd7def53d | |
parent | 7d63b775513e7049047222dbe403a4181f63828d (diff) | |
download | guix-6ee7e3d26b8f5d2a234518cc2ab1bfeba7cd7c18.tar.gz guix-6ee7e3d26b8f5d2a234518cc2ab1bfeba7cd7c18.zip |
inferior: Fix concurrent cached-profile calls.
* guix/inferior.scm (cached-profile): Do not create the profile symlink if it
already exists.
-rw-r--r-- | guix/inferior.scm | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/guix/inferior.scm b/guix/inferior.scm index 714e1e1eae..d0cd1ccee7 100644 --- a/guix/inferior.scm +++ b/guix/inferior.scm @@ -755,8 +755,9 @@ seconds. This procedure opens a new connection to the build daemon." (built-derivations (list profile)) ;; Note: Caching is fine even when AUTHENTICATE? is false because ;; we always call 'latest-channel-instances?'. - (symlink* (derivation->output-path profile) cached) - (add-indirect-root* cached) + (unless (file-exists? cached) + (symlink* (derivation->output-path profile) cached) + (add-indirect-root* cached)) (return cached)))))) (define* (channels->cached-profile store channels |