all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Paul Eggert <eggert@cs.ucla.edu>
To: Eli Zaretskii <eliz@gnu.org>
Cc: jussi@aprikoodi.fi, emacs-devel@gnu.org
Subject: Re: [PATCH] Override Windows default Win-* key combinations when using Emacs
Date: Mon, 29 Feb 2016 11:01:31 -0800	[thread overview]
Message-ID: <56D4958B.8070300@cs.ucla.edu> (raw)
In-Reply-To: <83vb578qem.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 2418 bytes --]

On 02/29/2016 07:52 AM, Eli Zaretskii wrote:
> I was talking about systems other than Windows. Do we know which ones 
> of them still use the non-getaddrinfo code?

The Gnulib documentation mentions HP-UX 11.11, IRIX 6.5, OSF/1 5.1, 
Solaris 7, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. Of the 
non-MS-Windows ports, Emacs should run on HP-UX 11, Solaris 7, and 
(assuming --with-wide-int) IRIX 6.5. Of these only HP-UX 11.11 (aka 
HP-UX 11i) is still a viable platform. The base system lacks 
getaddrinfo, but there is an optional addon to support getaddrinfo (it's 
part of IPv6 support)

> I see that we have calls to something named res_init there, and we 
> even have a configure-time test for that. What is that about? Gnulib 
> doesn't have that, and it's certainly not for the MS-Windows build.

res_init originally had to do with the ancient (pre-2000) BIND 
interfaces that were not thread-safe. Emacs doesn't use those so we 
don't need to worry about them. More recently, res_init was used to kick 
glibc into re-reading /etc/resolv.conf. That has been obsolete for years 
too, with the emergence of nscd. Nowadays calling res_init merely slows 
Emacs down so Emacs should stop doing it, and I installed the attached 
patch into master.

> The current w32 code in Emacs wraps each network-related function with 
> a wrapper that tracks sockets and file descriptors they use, 
> translates socket errors to errno values, and does other important 
> stuff. The code also arranges for dynamically loading the socket 
> library only when actually needed. So replacing just one function will 
> certainly not work well, and replacing them all sounds like a lot of 
> work for very little gain. So I think a better way forward would be to 
> implement getaddrinfo wrapper in w32.c, complete with the fallback we 
> have in process.c (and maybe also borrowing some ideas from Gnulib).

Gnulib also tracks file descriptors in its substitute functions, I 
presume for similar reasons. At some point perhaps this should be 
unified with what Emacs does, but obviously this is not high priority.

> When this is done, we can install your patch for whatever other 
> systems which still don't have getaddrinfo (if there are such systems 
> that we still support). Writing such a getaddrinfo wrapper is easy, 
> and I expect it to be done soon enough, so please wait with your patch 
> until then. 

Sounds good.

[-- Attachment #2: 0001-Stop-calling-res_init.patch --]
[-- Type: application/x-patch, Size: 5456 bytes --]

  reply	other threads:[~2016-02-29 19:01 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-05 12:51 [PATCH] Override Windows default Win-* key combinations when using Emacs Jussi Lahdenniemi
2016-01-05 13:54 ` Herring, Davis
2016-01-05 17:05   ` Eli Zaretskii
2016-01-05 19:32     ` Jussi Lahdenniemi
2016-01-05 17:05 ` Eli Zaretskii
2016-01-05 19:03   ` Rasmus
2016-01-05 19:17     ` Eli Zaretskii
2016-01-05 19:31       ` Jussi Lahdenniemi
     [not found]     ` <<83d1tf4z0h.fsf@gnu.org>
2016-01-05 19:45       ` Drew Adams
2016-01-05 19:41   ` Jussi Lahdenniemi
2016-01-05 20:01     ` Eli Zaretskii
2016-01-09 19:58   ` Jussi Lahdenniemi
2016-01-11 18:54     ` Eli Zaretskii
2016-01-12 11:16       ` Jussi Lahdenniemi
2016-01-12 15:08         ` covici
2016-01-13  5:07           ` Jussi Lahdenniemi
2016-01-12 15:54         ` Eli Zaretskii
2016-01-13  5:31           ` Jussi Lahdenniemi
2016-01-13 15:49             ` Eli Zaretskii
2016-01-13  9:16           ` Jussi Lahdenniemi
2016-01-13 11:28             ` Jussi Lahdenniemi
2016-01-13 15:57               ` Eli Zaretskii
2016-01-14 12:49                 ` Jussi Lahdenniemi
2016-01-14 17:10                   ` Jussi Lahdenniemi
2016-01-14 18:07                     ` Eli Zaretskii
2016-01-14 18:15                   ` Eli Zaretskii
2016-01-15  6:56                     ` Jussi Lahdenniemi
2016-01-15  7:52                       ` Jussi Lahdenniemi
2016-01-15  8:08                         ` Windows 9X crash (was: [PATCH] Override Windows default Win-* key combinations when using Emacs) Eli Zaretskii
2016-01-15  9:35                           ` Windows 9X crash Jussi Lahdenniemi
2016-01-15 10:18                             ` Eli Zaretskii
2016-01-15 10:31                               ` Fabrice Popineau
2016-01-15 10:33                               ` Jussi Lahdenniemi
2016-01-16  9:15                                 ` Eli Zaretskii
2016-01-15  9:47                           ` Windows 9X crash (was: [PATCH] Override Windows default Win-* key combinations when using Emacs) Fabrice Popineau
2016-01-15  9:56                             ` Windows 9X crash Jussi Lahdenniemi
2016-01-15 10:19                               ` Eli Zaretskii
2016-01-15  9:23                         ` [PATCH] Override Windows default Win-* key combinations when using Emacs Yuri Khan
2016-01-16  9:58                     ` Eli Zaretskii
2016-01-16 11:00                       ` Jussi Lahdenniemi
2016-01-16 11:41                         ` Eli Zaretskii
2016-02-03 13:59                         ` Jussi Lahdenniemi
2016-02-03 15:42                           ` Eli Zaretskii
2016-02-26 10:55                             ` Eli Zaretskii
2016-02-26 10:59                               ` Jussi Lahdenniemi
2016-02-27 11:34                                 ` Eli Zaretskii
2016-02-28  8:42                                   ` Paul Eggert
2016-02-28 15:50                                     ` Eli Zaretskii
2016-02-28 20:03                                       ` Paul Eggert
2016-02-28 20:10                                         ` Eli Zaretskii
2016-02-28 23:27                                           ` Paul Eggert
2016-02-29  3:31                                             ` Eli Zaretskii
2016-02-29  7:07                                               ` Paul Eggert
2016-02-29 15:52                                                 ` Eli Zaretskii
2016-02-29 19:01                                                   ` Paul Eggert [this message]
2016-03-05 10:16                                                     ` Eli Zaretskii
2016-03-08  2:57                                                       ` Paul Eggert
2016-03-08  4:46                                                         ` Clément Pit--Claudel
2016-02-28 23:33                                         ` John Wiegley
2016-02-27  2:11                               ` Lars Ingebrigtsen
2016-02-27  7:47                                 ` Eli Zaretskii
2016-02-28  4:40                                   ` Lars Ingebrigtsen
2016-01-13 15:53             ` Eli Zaretskii
     [not found] <<568BBC58.50702@aprikoodi.fi>

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=56D4958B.8070300@cs.ucla.edu \
    --to=eggert@cs.ucla.edu \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=jussi@aprikoodi.fi \
    /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.