diff options
author | Ludovic Courtès <ludo@gnu.org> | 2022-01-27 08:55:59 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-01-27 14:13:24 +0100 |
commit | c71910a095f7e1ef0ab4c1fbea85348373e5a264 (patch) | |
tree | c9f6a9fbdaed92d3249d2be9c1343ea1f22ca334 /guix/licenses.scm | |
parent | bd86bbd300474204878e927f6cd3f0defa1662a5 (diff) | |
download | guix-patches-c71910a095f7e1ef0ab4c1fbea85348373e5a264.tar guix-patches-c71910a095f7e1ef0ab4c1fbea85348373e5a264.tar.gz |
inferior: Inferior caches store connections.
Fixes <https://issues.guix.gnu.org/48007>.
Reported by Ricardo Wurmus <rekado@elephly.net>.
Previously, at each 'inferior-eval-with-store' call, the inferior would
create a new <store-connection> object with empty caches. Consequently,
when repeatedly calling 'inferior-package-derivation', we would not
benefit from any caching and instead recompute all the derivations for
every package. This patch fixes it by caching <store-connection>
objects in the inferior.
* guix/inferior.scm (port->inferior): Define '%store-table' in the inferior.
(inferior-eval-with-store): Cache store connections in %STORE-TABLE.
Remove now unneeded 'dynamic-wind' with 'close-port' call.
Diffstat (limited to 'guix/licenses.scm')
0 files changed, 0 insertions, 0 deletions