diff options
author | Ludovic Courtès <ludo@gnu.org> | 2021-04-24 17:59:14 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-04-25 14:36:40 +0200 |
commit | 69ffe875c38bde29eb420a819d74ddba916015bc (patch) | |
tree | 7b864fc46ffdcbb9e706ecb4c8a4311716d15df2 /guix/graph.js | |
parent | f06685a98594488dd5be2085cc8a10c295873179 (diff) |
http-client, substitute: Gracefully handle GnuTLS EAGAIN/EINTR.
Partly fixes <https://bugs.gnu.org/47867>.
Reported by Florian Pelz <pelzflorian@pelzflorian.de>.
In GnuTLS up to 3.7.1 included, GNUTLS_E_AGAIN and GNUTLS_E_INTERRUPTED
are not handled by 'write_to_session_record_port' and could be thrown at
the caller. This patch works around that by dropping connections
altogether and restarting when this happens.
* guix/http-client.scm (false-if-networking-error): Swallow ERROR/AGAIN
and ERROR/INTERRUPTED.
* guix/scripts/substitute.scm (call-with-cached-connection): Likewise.
Diffstat (limited to 'guix/graph.js')
0 files changed, 0 insertions, 0 deletions