summaryrefslogtreecommitdiff
path: root/guix/base16.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-01-27 00:20:12 +0100
committerLudovic Courtès <ludo@gnu.org>2022-01-27 14:13:24 +0100
commitbd86bbd300474204878e927f6cd3f0defa1662a5 (patch)
tree67d0a86efddbb637b126823f4384050c629a7b3e /guix/base16.scm
parent10aad72110e6a44255fa45281b4705ae98b26496 (diff)
downloadguix-patches-bd86bbd300474204878e927f6cd3f0defa1662a5.tar
guix-patches-bd86bbd300474204878e927f6cd3f0defa1662a5.tar.gz
inferior: Keep the store bridge connected.
Previously, each 'inferior-eval-with-store' would lead the inferior to connect to the named socket the parent is listening to. With this change, the connection is established once for all and reused afterwards. * guix/inferior.scm (<inferior>)[bridge-file-name]: Remove. (open-bidirectional-pipe): New procedure. (inferior-pipe): Use it instead of 'open-pipe*' and return two values. (port->inferior): Adjust call to 'inferior'. (open-inferior): Adjust to 'inferior-pipe' changes. (close-inferior): Remove 'inferior-bridge-file-name' handling. (open-store-bridge!): Switch back to 'call-with-temporary-directory'. Define '%bridge-socket' in the inferior, connected to the caller. (proxy): Change first argument to be an inferior. Add 'reponse-port' and call to 'drain-input'. Pass 'reponse-port' to 'select' and use it as a loop termination clause. (inferior-eval-with-store): Remove 'socket' and 'connect' calls from the inferior code, and use '%bridge-socket' instead.
Diffstat (limited to 'guix/base16.scm')
0 files changed, 0 insertions, 0 deletions