From: Helmut Eller <eller.helmut@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: MS-Windows build broken in Fmake_network_process
Date: Sat, 27 Mar 2010 14:56:13 +0100 [thread overview]
Message-ID: <m239zldg1u.fsf@gmail.com> (raw)
In-Reply-To: <83ociaf296.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 27 Mar 2010 14:11:17 +0300")
* Eli Zaretskii [2010-03-27 12:11+0100] writes:
>> From: Helmut Eller <eller.helmut@gmail.com>
>> Date: Sat, 27 Mar 2010 11:09:17 +0100
>>
>> > I don't argue about this code's correctness or necessity on Posix
>> > systems. I accept your and others' expert knowledge about that. What
>> > I'm saying is that this code is unneeded and possibly inappropriate on
>> > Windows, where most of the system calls and mechanisms involved in
>> > this issue work in an entirely different way under the hood.
>> > Therefore, I submit that this code should have never been installed
>> > unconditionally, at least not without discussing its applicability and
>> > implications on Windows.
>>
>> You seem to think that adding lots of #ifdefs is a good solution
>
> No, I don't. I think it's an ugly solution which should only be taken
> as a last resort. That is why I asked you to provide an alternative
> solution that didn't use getsockopt, like the one we already have in
> wait_reading_process_output. I hoped that such an alternative
> solution would avoid the #ifdef.
But the code in wait_reading_process_output does use getsockopt inside
#ifdef GNU_LINUX and a very odd way to extract some error code in the
#else branch. Despite that it's also inside an #ifdef
NON_BLOCKING_CONNECT. Note that src/s/ms-w32.h defines
BROKEN_NON_BLOCKING_CONNECT. In summary that code path is hardly ever
executed.
> Failing that, unless we have on board an expert on Windows sockets, or
> could find one, who could explain how this affects Windows, what else
> can we do except #ifdef this code away?
a) Trust the Windows API documentation for getsockopt. Judging from the
documentation alone there's little reason to assume that it wouldn't
work in a similar way as on Unix.
or b) reproduce the scenario described in bug 5173 on Windows to see if
connect returns EINTR and getsockopt works.
> I do think that it is a bad
> idea to apply code that was written on very specific assumptions about
> the underlying low-level system behavior, to platforms whose behavior
> is fundamentally different.
Writing code as described in the API documentation seems reasonable to
me.
I also had asked some questions regarding this code in
http://lists.gnu.org/archive/html/emacs-devel/2009-12/msg00337.html but
nobody answered. Then I filed bug 5173 that was ignored too. When bug
5723 popped up I asked the same question again, bug again the
maintainers didn't know the answer but they decided to put some code
into trunk for testing. I don't see what's wrong with this approach.
Helmut
next prev parent reply other threads:[~2010-03-27 13:56 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 [this message]
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
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=m239zldg1u.fsf@gmail.com \
--to=eller.helmut@gmail.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.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.