[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Asynchronous DNS
From: |
Andy Moreton |
Subject: |
Re: Asynchronous DNS |
Date: |
Sun, 31 Jan 2016 14:03:50 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.0.90 (windows-nt) |
On Sat 30 Jan 2016, Lars Ingebrigtsen wrote:
> Async DNS has now been implemented in the feature/async-dns branch, and
> I'm running that Emacs right now. And it works! I mean, eww no longer
> gets those awkward pauses when resolving DNS names of image assets.
> Whee! Or placebo! Whee!
>
> There's quite a bit of cleanup remaining, though, and I'm probably
> leaking memory ... somewhere... And I'm not really happy with the way
> I'm doing the polling, which required another process array in addition
> to the chan_process table. Surely a better way must exist, but the
> process isn't entered into the chan_process table until the socket has
> been created, and we can't create the socket before we've done the name
> resolution, because we don't know whether it's going to be an IPv4
> address or an IPv6 address.
>
> If anybody else wants to start fiddling with the stuff, be my guest.
> :-) But I'm going to continue tinkering with it on the branch, and will
> probably merge with the trunk in a few days. It would be nice if people
> on non-Linux systems could check whether it builds at all on those
> systems before I do the merge...
This doesn't build on mingw64:
../../src/process.c: In function 'Fmake_network_process':
../../src/process.c:3589:21: error: 'AF_LOCAL' undeclared (first use in this
function)
if (family != AF_LOCAL)
^
../../src/process.c:3589:21: note: each undeclared identifier is reported only
once for each function it appears in
../../src/process.c:3755:19: warning: implicit declaration of function 'Ncons'
[-Wimplicit-function-declaration]
ip_addresses = Ncons (make_number (host_info_ptr->h_addr,
^
../../src/process.c:3756:34: error: macro "make_number" passed 2 arguments, but
takes just 1
host_info_ptr->h_length),
^
../../src/process.c:3755:17: error: incompatible types when assigning to type
'Lisp_Object {aka struct <anonymous>}' from type 'int'
ip_addresses = Ncons (make_number (host_info_ptr->h_addr,
^
../../src/process.c:3767:17: error: incompatible types when assigning to type
'Lisp_Object {aka struct <anonymous>}' from type 'int'
ip_addresses = Ncons (make_number (numeric_addr), Qnil);
^
../../src/process.c: In function 'send_process':
../../src/process.c:5831:7: error: used struct type value where scalar is
required
if (p->gnutls_async_parameters)
^
Makefile:372: recipe for target 'process.o' failed
The AF_LOCAL check looks like it should be guarded with
HAVE_LOCAL_SOCKETS.
The make_number() errors may be from configured with checking enabled.
"config.status --config" for this build shows:
'--prefix=c:/emacs' '--build=x86_64-w64-mingw32' '--without-dbus'
'--enable-checking' '--enable-check-lisp-object-type' '--with-gif'
'--with-jpeg' '--with-png' '--with-tiff' '--with-xpm' '--with-gnutls'
'--with-rsvg' '--with-xml2' '--without-imagemagick' '--with-modules'
'CFLAGS= -g3 -O0' 'build_alias=x86_64-w64-mingw32'
- Re: Asynchronous DNS, (continued)
Re: Asynchronous DNS, Eli Zaretskii, 2016/01/30
Re: Asynchronous DNS, Ken Raeburn, 2016/01/31
Re: Asynchronous DNS, Lars Ingebrigtsen, 2016/01/31
Re: Asynchronous DNS,
Andy Moreton <=