On Thu, 04 Aug 2022 16:20:12 +0200
Ludovic Courtès <l...@gnu.org> wrote:
> Ludovic Courtès <l...@gnu.org> skribis:
> 
> > The custom input/output port wrapping the TLS session record port would
> > introduce overhead, and it would also prevent its uses in a non-blocking
> > context--e.g., with Fibers.  The port close mechanism added in GnuTLS
> > 3.7.7 allows us to get rid of that wrapper.
> >
> > * guix/build/download.scm (wrap-record-port-for-gnutls<3.7.7): New
> > procedure, with code formerly in 'tls-wrap'.
> > (tls-wrap): Check for 'set-session-record-port-close!' and use it when
> > available; otherwise call 'wrap-record-port-for-gnutls<3.7.7'.
> 
> I synchronized Guile's copy of this code:
> 
>   317b06bf8 web: 'tls-wrap' retries handshake upon non-fatal errors.
>   c01ca10b3 web: Do not wrap TLS port on GnuTLS >= 3.7.7.
> 
> I realized that’s not enough to make it possible to use non-blocking
> ports though.

[snip revised patch]

> Thoughts?

I have not been following these patches and this may be completely
irrelevant, but if the context of these patches is the use of
gnutls-guile, then when I last looked (which was some time ago)
gnutls-guile ports were not suspendable.  So a non-blocking
gnutls-guile port will still block when used with guile's suspendable
ports.

If I have missed the point please ignore this.

Reply via email to