GNU bug report logs -
#23982
[master] Treat errno EINPROGRESS and ENOTCONN as EAGAIN for async connection
Previous Next
Reported by: Jun Hao <jun_hao <at> aol.com>
Date: Thu, 14 Jul 2016 14:18:01 UTC
Severity: normal
Tags: patch
Merged with 22929,
23225,
23503
Found in version 25.1.50
Done: Paul Eggert <eggert <at> cs.ucla.edu>
Bug is archived. No further changes may be made.
Full log
Message #8 received at 23982 <at> debbugs.gnu.org (full text, mbox):
Jun Hao <jun_hao <at> aol.com> writes:
>
> For latest master branch, when try to use gnutls with async connection,
> the handshake will return fatal error if socket is in ENOTCONN or
> EINPROGRESS since gnutls treat these errors as fatal during push/pull
> and gives up. The later retry will fail because gnutls will mark the
> session invalid.
>
> This patch is asking gnutls to treat them as EAGAIN which is non-fatal.
>
> I only tested with OSX. Please see if you can reproduce it on Windows or
> Linux and if this patch works for them too.
>
> To reproduce run:
>
> emacs -Q --eval "(erc-tls :server \"irc.freenode.net\" :port 6697 :nick \"test\")"
>
> Current master branch will gave up connecting.
On both Window and GNU/Linux this successfully connect both with and
without the patch, i.e., patch seems not to be needed on non-OSX
platforms, but it doesn't seem to hurt either.
This bug report was last modified 8 years and 282 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.