diff options
Diffstat (limited to 'guix/store.scm')
-rw-r--r-- | guix/store.scm | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/guix/store.scm b/guix/store.scm index 452a2f1268..bc4c641583 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -728,6 +728,13 @@ and the number of bytes freed." (let ((paths (read-store-path-list s)) (freed (read-long-long s)) (obsolete (read-long-long s))) + (unless (null? paths) + ;; To be on the safe side, completely invalidate both caches. + ;; Otherwise we could end up returning store paths that are no longer + ;; valid. + (hash-clear! (nix-server-add-to-store-cache server)) + (hash-clear! (nix-server-add-text-to-store-cache server))) + (values paths freed)))) (define-syntax-rule (%long-long-max) |