mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 07:26:13 -05:00
substitute: Reopen connection upon “Error in the push function” from GnuTLS.
This works around an occasional issue where substitution stops abruptly due to “Error in the push function” from GnuTLS, as reported at <https://issues.guix.gnu.org/71238> by Richard Sent. * guix/scripts/substitute.scm (call-with-cached-connection): Add ‘error/push-error’ and ‘error/pull-error’ to the list of gnutls-error values for which the connection is reopened. Change-Id: Icf079dd10b16739f62fee15bc3d90bab77110576
This commit is contained in:
parent
9af235335e
commit
fa70c14155
1 changed files with 10 additions and 1 deletions
|
@ -43,7 +43,11 @@ (define-module (guix scripts substitute)
|
|||
#:select (uri-abbreviation nar-uri-abbreviation
|
||||
(open-connection-for-uri
|
||||
. guix:open-connection-for-uri)))
|
||||
#:autoload (gnutls) (error/invalid-session error/again error/interrupted)
|
||||
#:autoload (gnutls) (error/invalid-session
|
||||
error/again
|
||||
error/interrupted
|
||||
error/push-error
|
||||
error/pull-error)
|
||||
#:use-module (guix progress)
|
||||
#:use-module ((guix build syscalls)
|
||||
#:select (set-thread-name))
|
||||
|
@ -426,6 +430,11 @@ (define (call-with-cached-connection uri proc)
|
|||
(memq (first args)
|
||||
(list error/invalid-session
|
||||
|
||||
;; "Error in the push function" is
|
||||
;; usually a transient error.
|
||||
error/push-error
|
||||
error/pull-error
|
||||
|
||||
;; XXX: These two are not properly handled in
|
||||
;; GnuTLS < 3.7.3, in
|
||||
;; 'write_to_session_record_port'; see
|
||||
|
|
Loading…
Reference in a new issue