From: Eli Zaretskii <eliz@gnu.org>
To: Alain Schneble <a.s@realize.ch>
Cc: larsi@gnus.org, j_l_domenech@yahoo.com, 22789@debbugs.gnu.org
Subject: bug#22789: 25.1.50; In last master build https connections stop working
Date: Mon, 07 Mar 2016 18:07:54 +0200 [thread overview]
Message-ID: <83mvqauv8l.fsf@gnu.org> (raw)
In-Reply-To: <861t7n1970.fsf@realize.ch> (message from Alain Schneble on Mon, 7 Mar 2016 00:24:35 +0100)
> From: Alain Schneble <a.s@realize.ch>
> CC: <larsi@gnus.org>, <j_l_domenech@yahoo.com>, <22789@debbugs.gnu.org>
> Date: Mon, 7 Mar 2016 00:24:35 +0100
>
> > I'll send a patch for further discussions shortly.
>
> And here it is. The fix is quite simple. It ensures that sys_write
> exits before touching the socket if it is not connected yet.
> Unfortunately I didn't find any documentation on winsock ioctlsocket
> that would prove that this is indeed required. But it seems not wrong
> to me anyway. (I'll try to search the wisock documentation tomorrow to
> find some hints that lead in this direction, or maybe you know?)
I think this change should be installed regardless, as it fixes an
oversight. However, I think it needs to be augmented, because the
fact that FILE_CONNECT flag is set doesn't necessarily mean the
connection is in progress: it could have failed already. We need to
look at the status as well.
The possible states of the FILE_CONNECT flag and the cp->status values
are:
flag status description
----------------------------------------------------------------------------
ON STATUS_READ_READY reader thread is about to try connect
ON STATUS_READ_FAILED reader thread waits in _sys_wait_connect
ON STATUS_READ_SUCCEEDED reader thread successfully connected
ON STATUS_CONNECT_FAILED reader thread failed to connect
OFF STATUS_READ_ACKNOWLEDGED sys_select acknowledged successful connect
OFF STATUS_READ_READY reader thread is about to read
OFF STATUS_READ_IN_PROGRESS reader thread waits in _sys_read_ahead
OFF STATUS_READ_SUCCEEDED reader thread succeeded in reading
OFF STATUS_READ_FAILED reader thread failed to read
So we should only return EWOULDBLOCK when FILE_CONNECT is set _and_
the status is not STATUS_CONNECT_FAILED. If FILE_CONNECT is set, but
the status is STATUS_CONNECT_FAILED, we should instead return the
value computed from cp->errcode (if it is non-zero). There's an
example of that in sys_read.
Other than that, what specific problem does your change try or is
known to solve? IOW, what didn't work before the change, and works
after it?
Thanks.
next prev parent reply other threads:[~2016-03-07 16:07 UTC|newest]
Thread overview: 124+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-24 10:26 bug#22789: 25.1.50; In last master build https connections stop working José L. Doménech
2016-02-24 14:00 ` Lars Ingebrigtsen
2016-02-24 16:09 ` José L. Doménech
2016-02-24 18:06 ` Eli Zaretskii
2016-02-24 23:48 ` Lars Ingebrigtsen
2016-02-25 0:02 ` Lars Ingebrigtsen
2016-02-25 1:09 ` Lars Ingebrigtsen
2016-02-25 16:41 ` Eli Zaretskii
2016-02-26 2:29 ` Lars Ingebrigtsen
2016-02-26 9:36 ` Eli Zaretskii
2016-02-27 2:30 ` Lars Ingebrigtsen
2016-02-27 2:43 ` John Wiegley
2016-02-27 3:50 ` Lars Ingebrigtsen
2016-02-27 8:14 ` Eli Zaretskii
2016-02-27 3:49 ` Lars Ingebrigtsen
2016-02-27 8:10 ` Eli Zaretskii
2016-02-27 8:13 ` Eli Zaretskii
2016-02-27 18:05 ` Alain Schneble
2016-02-27 22:38 ` Lars Ingebrigtsen
2016-02-27 23:06 ` Alain Schneble
2016-02-27 23:49 ` Alain Schneble
2016-02-28 3:31 ` Lars Ingebrigtsen
2016-02-28 9:58 ` Alain Schneble
2016-02-28 16:53 ` Eli Zaretskii
2016-02-29 2:37 ` Lars Ingebrigtsen
2016-02-28 3:43 ` Eli Zaretskii
2016-02-28 9:48 ` Alain Schneble
2016-02-28 17:00 ` Eli Zaretskii
2016-02-29 2:49 ` Lars Ingebrigtsen
2016-02-29 3:43 ` Eli Zaretskii
2016-02-29 4:38 ` Lars Ingebrigtsen
2016-02-29 9:55 ` Alain Schneble
2016-02-29 10:03 ` Lars Ingebrigtsen
2016-02-29 17:57 ` Alain Schneble
2016-02-29 18:45 ` Eli Zaretskii
2016-02-29 21:22 ` Lars Ingebrigtsen
2016-03-01 3:35 ` Eli Zaretskii
2016-02-29 23:13 ` Alain Schneble
2016-03-01 0:41 ` Lars Ingebrigtsen
2016-03-01 3:41 ` Eli Zaretskii
2016-03-01 4:29 ` Lars Ingebrigtsen
2016-03-01 4:30 ` Lars Ingebrigtsen
2016-03-01 9:00 ` Andreas Schwab
2016-03-01 14:12 ` Lars Ingebrigtsen
2016-03-01 14:25 ` Alain Schneble
2016-03-01 14:43 ` Lars Ingebrigtsen
2016-03-01 15:59 ` Eli Zaretskii
2016-03-01 16:19 ` Alain Schneble
2016-03-01 17:00 ` Eli Zaretskii
2016-03-01 17:09 ` Alain Schneble
2016-03-01 17:22 ` Eli Zaretskii
2016-03-01 17:55 ` Alain Schneble
2016-03-01 18:13 ` Eli Zaretskii
2016-03-01 16:33 ` Andreas Schwab
2016-03-01 15:53 ` Eli Zaretskii
2016-03-01 15:36 ` Alain Schneble
2016-03-01 16:05 ` Eli Zaretskii
2016-03-01 16:25 ` Alain Schneble
2016-03-04 8:56 ` Eli Zaretskii
2016-03-04 16:55 ` Alain Schneble
2016-03-04 21:36 ` Alain Schneble
2016-03-04 22:33 ` Alain Schneble
2016-03-05 8:23 ` Eli Zaretskii
2016-03-05 18:27 ` Alain Schneble
2016-03-05 19:21 ` Eli Zaretskii
2016-03-06 22:45 ` Alain Schneble
2016-03-06 23:24 ` Alain Schneble
2016-03-07 8:49 ` Alain Schneble
2016-03-07 16:08 ` Eli Zaretskii
2016-03-07 17:20 ` Alain Schneble
2016-03-07 17:33 ` Eli Zaretskii
2016-03-07 18:03 ` Alain Schneble
2016-03-07 18:10 ` Eli Zaretskii
2016-03-07 18:26 ` Alain Schneble
2016-03-07 16:07 ` Eli Zaretskii [this message]
2016-03-07 16:47 ` Alain Schneble
2016-03-07 22:21 ` Alain Schneble
2016-03-08 16:40 ` Eli Zaretskii
2016-03-08 16:43 ` Alain Schneble
2016-03-10 14:45 ` Eli Zaretskii
2016-03-10 14:59 ` Alain Schneble
2016-03-06 9:31 ` Lars Magne Ingebrigtsen
2016-03-06 15:24 ` Eli Zaretskii
2016-03-05 8:46 ` Lars Magne Ingebrigtsen
2016-03-05 18:32 ` Alain Schneble
2016-02-29 21:18 ` Lars Ingebrigtsen
2016-02-29 23:20 ` Alain Schneble
2016-03-01 3:43 ` Eli Zaretskii
2016-03-01 5:17 ` Lars Ingebrigtsen
2016-03-01 15:46 ` Eli Zaretskii
2016-03-02 18:03 ` Lars Ingebrigtsen
2016-03-02 19:07 ` Alain Schneble
2016-03-02 19:15 ` Lars Ingebrigtsen
2016-03-02 19:38 ` Alain Schneble
2016-03-02 20:46 ` Alain Schneble
2016-03-02 22:02 ` Alain Schneble
2016-03-02 22:22 ` Lars Ingebrigtsen
2016-03-02 22:38 ` Alain Schneble
2016-03-03 0:07 ` Alain Schneble
2016-03-03 5:32 ` Lars Ingebrigtsen
2016-03-03 9:03 ` Alain Schneble
2016-03-02 19:43 ` Eli Zaretskii
2016-03-03 5:23 ` Lars Ingebrigtsen
2016-03-04 8:51 ` Eli Zaretskii
2016-03-04 11:33 ` Lars Ingebrigtsen
2016-03-04 14:48 ` Eli Zaretskii
2016-03-05 12:26 ` Lars Magne Ingebrigtsen
2016-03-05 13:24 ` Eli Zaretskii
2016-03-06 9:33 ` Lars Magne Ingebrigtsen
2016-03-06 15:26 ` Eli Zaretskii
2016-03-06 18:33 ` Lars Magne Ingebrigtsen
2016-03-06 18:41 ` Eli Zaretskii
2016-03-04 11:37 ` Lars Ingebrigtsen
2016-03-04 11:40 ` Lars Ingebrigtsen
2016-03-04 15:41 ` Eli Zaretskii
2016-03-04 15:43 ` Lars Ingebrigtsen
2016-03-04 16:12 ` Eli Zaretskii
2016-03-04 15:40 ` Eli Zaretskii
2016-03-01 15:43 ` Alain Schneble
2016-03-01 16:07 ` Eli Zaretskii
2016-03-01 16:26 ` Alain Schneble
2016-02-28 16:47 ` Eli Zaretskii
2016-02-25 3:46 ` Eli Zaretskii
2016-02-25 5:00 ` Lars Ingebrigtsen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83mvqauv8l.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=22789@debbugs.gnu.org \
--cc=a.s@realize.ch \
--cc=j_l_domenech@yahoo.com \
--cc=larsi@gnus.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.