GNU bug report logs - #23982
[master] Treat errno EINPROGRESS and ENOTCONN as EAGAIN for async connection

Previous Next

Package: emacs;

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):

From: npostavs <at> users.sourceforge.net
To: Jun Hao <jun_hao <at> aol.com>
Cc: 23982 <at> debbugs.gnu.org
Subject: Re: bug#23982: [master] Treat errno EINPROGRESS and ENOTCONN as
 EAGAIN for async connection
Date: Fri, 15 Jul 2016 23:33:00 -0400
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.