aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-06-18 11:58:41 +0200
committerLudovic Courtès <ludo@gnu.org>2020-06-18 14:48:17 +0200
commitd7fb5538013710288e91657499f0e04207115776 (patch)
treeed2da2ae3887c2b2f1342a74a1fe0ce49cb80a14
parent97a46055ca9f72986740c26a5406b5138176ca61 (diff)
downloadguix-d7fb5538013710288e91657499f0e04207115776.tar
guix-d7fb5538013710288e91657499f0e04207115776.tar.gz
nar: Avoid opening the database an additional time.
* guix/nar.scm (finalize-store-file): Call 'register-items' and pass it DB. This avoids opening the database a second time and hopefully reduces contention on 'db.sqlite-shm'.
-rw-r--r--guix/nar.scm6
1 files changed, 3 insertions, 3 deletions
diff --git a/guix/nar.scm b/guix/nar.scm
index eff4becbce..16dfe28766 100644
--- a/guix/nar.scm
+++ b/guix/nar.scm
@@ -27,6 +27,7 @@
;; (guix store) since this is "daemon-side" code.
#:use-module (guix store)
#:use-module (guix store database)
+ #:use-module ((guix build store-copy) #:select (store-info))
#:use-module (guix ui) ; for '_'
#:use-module (gcrypt hash)
@@ -115,9 +116,8 @@ held."
;; Register TARGET. As a side effect, it resets the timestamps of all
;; its files, recursively, and runs a deduplication pass.
- (register-path target
- #:references references
- #:deriver deriver))
+ (register-items db
+ (list (store-info target deriver references))))
(when lock?
(delete-file (string-append target ".lock"))