all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Cc: "Kim F. Storm" <storm@cua.dk>, emacs-devel@gnu.org
Subject: Re: MS-Windows build broken in Fmake_network_process
Date: Sat, 27 Mar 2010 11:44:30 +0300	[thread overview]
Message-ID: <83sk7mf91t.fsf@gnu.org> (raw)
In-Reply-To: <wlwrwy60yb.wl%mituharu@math.s.chiba-u.ac.jp>

> Date: Sat, 27 Mar 2010 09:51:56 +0900
> From: YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
> Cc: Helmut Eller <eller.helmut@gmail.com>,
> 	emacs-devel@gnu.org
> 
> Actually I was aware of the above part when I committed the change in
> question.  But the code above was added in 2002, and I doubted whether
> it is still the case for the systems that are supported by Emacs
> 24.0.50.  So I didn't copy the above code for Fmake_network_process.

I don't know which systems Kim Storm (who wrote that code; CC'ed) had
in mind when he made it conditional on GNU/Linux.  The related
discussion on emacs-devel does not talk about this issue, and the
preliminary version of the patch Kim posted back then does not include
the conditional GNU/Linux code.

But let me remind you that Windows XP, the Windows version that is
still the most widely used one today, was released in 2002.

> Can normal (i.e., blocking) `connect' in Windows be interrupted by a
> POSIX signal counterpart?  If not, then we can disable the whole added
> code for Windows in the first place.

As I said, I'm far from being an expert on the Windows socket library
and its operation.  Here's what I know about the related issues:

 . The Windows socket functions can only return EINTR (actually,
   WSAEINTR, from which we produce EINTR in Emacs's Windows source)
   only for the old Winsock 1.1 sockets, and only if some code calls
   `WSACancelBlockingCall'.  Emacs does not call that function
   directly, and in fact it is deprecated and was removed from Winsock
   2 library.

 . C-g does not trigger an asynchronous SIGINT on Windows like it does
   on Posix systems.  Instead, the Emacs's Windows code has a separate
   input thread; when that thread sees a C-g keystroke, it triggers a
   special handle that is included in the set of handles on which
   `select' waits.  `select' then returns with -1 setting errno to
   EINTR.  This is how the Windows build interrupts prolonged ``system
   calls''.

 . Note that `select' itself is implemented (as `sys_select') in
   Emacs's Windows code, i.e. we don't use the Windows-supplied
   `select', which only works on network handles.

From this I tend to conclude that `connect' on Windows cannot be
interrupted like on Posix systems, because when `connect' is called,
we are not waiting in `select'.

Perhaps Jason and Juanma can add their expertise to what I say above
and correct me where I'm wrong.




  reply	other threads:[~2010-03-27  8:44 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-26 15:22 MS-Windows build broken in Fmake_network_process Eli Zaretskii
2010-03-26 15:48 ` Helmut Eller
2010-03-26 17:56   ` Eli Zaretskii
2010-03-26 18:05     ` Helmut Eller
2010-03-26 18:09       ` Eli Zaretskii
2010-03-26 18:17         ` Helmut Eller
2010-03-26 20:05           ` Eli Zaretskii
2010-03-26 21:14             ` Helmut Eller
2010-03-27  8:50               ` Eli Zaretskii
2010-03-27 10:09                 ` Helmut Eller
2010-03-27 11:11                   ` Eli Zaretskii
2010-03-27 13:56                     ` Helmut Eller
2010-03-27  0:48             ` Chong Yidong
2010-03-27  7:42               ` Eli Zaretskii
2010-03-27 16:49                 ` Jason Rumney
2010-03-27 16:55                   ` Eli Zaretskii
2010-03-27 22:28                     ` Christoph
2010-03-28  0:12                       ` Florian Beck
2010-03-28  0:37                         ` Óscar Fuentes
2010-03-28  7:26                           ` Eli Zaretskii
2010-03-28 18:55                             ` Chong Yidong
2010-03-28 20:10                               ` Eli Zaretskii
2010-03-28 23:23                                 ` Jason Rumney
2010-03-29 23:39                           ` Richard Stallman
2010-03-31  4:57                             ` Stephen J. Turnbull
2010-03-31  8:38                               ` Eli Zaretskii
2010-03-31 10:38                                 ` Juanma Barranquero
2010-03-31 11:19                                   ` Eli Zaretskii
2010-03-31 15:39                                   ` Stephen J. Turnbull
2010-03-31 16:39                                     ` Juanma Barranquero
2010-03-31 17:30                                       ` Stephen J. Turnbull
2010-03-31 17:36                                         ` Juanma Barranquero
2010-03-31 18:05                                         ` OT: (was: MS-Windows build broken in Fmake_network_process) Stefan Monnier
2010-03-31 15:28                                 ` MS-Windows build broken in Fmake_network_process Stephen J. Turnbull
2010-03-31 16:12                                   ` Eli Zaretskii
2010-03-31 16:59                                     ` Stephen J. Turnbull
2010-03-31 17:27                                       ` Eli Zaretskii
2010-03-31 18:08                                         ` Stephen J. Turnbull
2010-04-06  7:50                             ` David Kastrup
2010-04-07  3:21                               ` Richard Stallman
2010-04-07  7:59                                 ` David Kastrup
2010-03-28  0:39                         ` Christoph
2010-03-28  7:21                           ` Windows 9X compatibility Eli Zaretskii
2010-03-28 14:59                             ` Óscar Fuentes
2010-03-28 15:24                               ` Lennart Borgman
2010-03-28 15:56                               ` Eli Zaretskii
2010-03-28 16:09                                 ` Juanma Barranquero
2010-03-28 18:03                                   ` joakim
2010-03-29 23:39                                     ` Richard Stallman
2010-03-28 19:57                                 ` Óscar Fuentes
2010-03-28 20:32                                   ` Eli Zaretskii
2010-03-28 22:26                                     ` Juanma Barranquero
2010-03-28 19:27                             ` Christoph
2010-03-28 20:18                               ` Eli Zaretskii
2010-03-28 21:04                                 ` Christoph
2010-03-28  7:17                       ` Windows 9X compatibility (was: MS-Windows build broken in Fmake_network_process) Eli Zaretskii
2010-03-28  7:33                     ` MS-Windows build broken in Fmake_network_process Jason Rumney
2010-03-28  8:12                       ` Eli Zaretskii
2010-03-29 23:39                         ` Richard Stallman
2010-03-28  9:11                   ` Serious performance problem with process output on Mac OSX Christian Lynbech
2010-03-28 14:41                     ` Adrian Robert
2010-03-29 21:58                       ` Adrian Robert
2010-03-29 23:26                         ` David Reitter
2010-03-29 23:54                         ` Chong Yidong
2010-03-30  7:43                           ` Adrian Robert
2010-03-30 13:05                             ` David Reitter
2010-03-30 17:39                               ` Jimmy Yuen Ho Wong
2010-03-30 17:47                                 ` Chong Yidong
2010-03-31  2:38                                   ` Jimmy Yuen Ho Wong
2010-03-31  4:00                                     ` Chong Yidong
2010-03-31 13:41                                       ` Jimmy Yuen Ho Wong
2010-03-31 14:28                                         ` Chong Yidong
2010-03-31 14:29                                         ` Adrian Robert
2010-03-29 23:48                   ` MS-Windows build broken in Fmake_network_process Davis Herring
2010-03-30  5:41                     ` Jason Rumney
2010-03-26 23:03           ` Juanma Barranquero
2010-03-27  0:51 ` YAMAMOTO Mitsuharu
2010-03-27  8:44   ` Eli Zaretskii [this message]
2010-03-27 13:01     ` Óscar Fuentes
2010-03-27 13:18       ` Juanma Barranquero
2010-03-28 17:29     ` Kim F. Storm

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=83sk7mf91t.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=mituharu@math.s.chiba-u.ac.jp \
    --cc=storm@cua.dk \
    /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.