summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-01-16 21:59:00 +0100
committerLudovic Courtès <ludo@gnu.org>2017-01-16 22:13:21 +0100
commit90ad5c8836138b7fd4d1bd0243dfa8b30ae0cf21 (patch)
treea9471f3cb796528cde0694a35c5c3518289a6293
parentb09903619f82c1561612602307c1ffe426ca74fd (diff)
downloadpatches-90ad5c8836138b7fd4d1bd0243dfa8b30ae0cf21.tar
patches-90ad5c8836138b7fd4d1bd0243dfa8b30ae0cf21.tar.gz
grafts: Actually cache grafts during the derivation DAG traversal.
This fixes a regression introduced in d38bc9a9f6feefc465964531520fee5663a12f48 whereby the cache was effectively disabled. Reported by Thomas Danckaert <thomas.danckaert@gmail.com>. * guix/grafts.scm (with-cache): In the cache miss case, wrap body in 'mbegin'.
-rw-r--r--guix/grafts.scm5
1 files changed, 3 insertions, 2 deletions
diff --git a/guix/grafts.scm b/guix/grafts.scm
index 2006d3908e..b60c8cfd90 100644
--- a/guix/grafts.scm
+++ b/guix/grafts.scm
@@ -222,8 +222,9 @@ available."
(return result))
(#f ;cache miss
(mlet %state-monad ((result (begin exp ...)))
- (set-current-state (vhash-consq key result cache))
- (return result))))))
+ (mbegin %state-monad
+ (set-current-state (vhash-consq key result cache))
+ (return result)))))))
(define* (cumulative-grafts store drv grafts
references