emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Asynchronous DNS


From: Alain Schneble
Subject: Re: Asynchronous DNS
Date: Sat, 13 Feb 2016 11:16:57 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (windows-nt)

Lars Ingebrigtsen <address@hidden> writes:

> Alain Schneble <address@hidden> writes:
>
>> Currently, IINW, `set-process-coding-system' calls
>> `setup_process_coding_systems' which basically requires infd/outfd to
>> /complete/ its "task".  Otherwise it just returns.
>
> Are you thinking about this code?

Yes, I do:

> setup_process_coding_systems (Lisp_Object process)
> {
> #ifdef subprocesses
>   struct Lisp_Process *p = XPROCESS (process);
>   int inch = p->infd;
>   int outch = p->outfd;
>   Lisp_Object coding_system;
>
>   if (inch < 0 || outch < 0)
>     return;
>
> With :nowait t now, inch/outch will never be zero here, because we've
                 ^^^
What do you mean by now?  I was referring to the async DNS resolve case.

> crated the sockets, even if we haven't connected them...  So it seems
> like it'll complete whatever it's doing even if those sockets aren't
> connected.  Possibly.

That's true for the previous non-async DNS code.  But with async DNS,
the socket may not yet have been created.

>> Later in the flow, `connect_network_socket' will be called and it
>> invokes `set_network_socket_coding_system' near the end which in turn
>> invokes `setup_process_coding_systems'.
>
> No, that code is called in make-network-process, so it's done before the
> erc.el calls set-process-coding-system, so that's fine.

Again, true for the code in master, but not for the current code in
feature/async-dns branch, AFAICS.




reply via email to

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