emacs-devel
[Top][All Lists]
Advanced

[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'





reply via email to

[Prev in Thread] Current Thread [Next in Thread]