diff options
author | Ludovic Courtès <ludo@gnu.org> | 2022-01-27 00:20:12 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-01-27 14:13:24 +0100 |
commit | bd86bbd300474204878e927f6cd3f0defa1662a5 (patch) | |
tree | 67d0a86efddbb637b126823f4384050c629a7b3e /guix/ci.scm | |
parent | 10aad72110e6a44255fa45281b4705ae98b26496 (diff) | |
download | guix-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/ci.scm')
0 files changed, 0 insertions, 0 deletions