[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Asynchronous DNS
From: |
Eli Zaretskii |
Subject: |
Re: Asynchronous DNS |
Date: |
Mon, 15 Feb 2016 12:55:45 +0200 |
> From: Lars Ingebrigtsen <address@hidden>
> Date: Mon, 15 Feb 2016 17:14:35 +1100
>
> Async DNS for 'en.wikipedia.org'
> Waiting for socket from set-process-filter...
> Waiting for socket from set-process-filter...
> Async DNS for 'upload.wikimedia.org'
> Waiting for socket from set-process-filter...
> Async DNS for 'upload.wikimedia.org'
> Waiting for socket from set-process-filter...
> Async DNS for 'upload.wikimedia.org'
> Waiting for socket from set-process-filter...
> Async DNS for 'upload.wikimedia.org'
> Waiting for socket from set-process-filter...
> Async DNS for 'upload.wikimedia.org'
> Waiting for socket from set-process-filter...
> Async DNS for 'upload.wikimedia.org'
> Waiting for socket from set-process-filter...
> Waiting for socket from set-process-filter...
> Async DNS for 'en.wikipedia.org'
> Waiting for socket from set-process-filter...
> Waiting for socket from set-process-filter...
>
> Does that function really have to wait for a socket?
It needs the input file descriptor:
> if (p->infd >= 0)
> {
> if (EQ (filter, Qt) && !EQ (p->status, Qlisten))
> {
> FD_CLR (p->infd, &input_wait_mask); <<<<<<<<<<<<<<<<<<
> FD_CLR (p->infd, &non_keyboard_wait_mask); <<<<<<<<<<<<<<<<<<
> }
> else if (EQ (p->filter, Qt)
> /* Network or serial process not stopped: */
> && !EQ (p->command, Qt))
> {
> FD_SET (p->infd, &input_wait_mask);
> FD_SET (p->infd, &non_keyboard_wait_mask);
> }
> }
>
> but I don't think that makes much of a difference... hm...
This is needed to set up the various masks that report on the socket
being ready to be read. The file descriptor comes from the socket, so
you cannot set up those masks until you have the socket. Of course,
until you do have a socket, no filter will ever need to be invoked, so
this part of the filter setup could be deferred until the connection
succeeds.
- Re: Asynchronous DNS, (continued)
- Re: Asynchronous DNS, Alain Schneble, 2016/02/14
- Re: Asynchronous DNS, Lars Ingebrigtsen, 2016/02/14
- Re: Asynchronous DNS, Eli Zaretskii, 2016/02/14
- Re: Asynchronous DNS, Alain Schneble, 2016/02/14
- Re: Asynchronous DNS, Eli Zaretskii, 2016/02/14
- Re: Asynchronous DNS, Lars Ingebrigtsen, 2016/02/14
- Re: Asynchronous DNS, Alain Schneble, 2016/02/14
- Re: Asynchronous DNS, Lars Ingebrigtsen, 2016/02/14
- Re: Asynchronous DNS, Lars Ingebrigtsen, 2016/02/15
- Re: Asynchronous DNS, Lars Ingebrigtsen, 2016/02/15
- Re: Asynchronous DNS,
Eli Zaretskii <=
- Re: Asynchronous DNS, Andreas Schwab, 2016/02/15
- Re: Asynchronous DNS, Eli Zaretskii, 2016/02/15
- Re: Asynchronous DNS, Lars Ingebrigtsen, 2016/02/15
- Re: Asynchronous DNS, Eli Zaretskii, 2016/02/15
- Re: Asynchronous DNS, Alain Schneble, 2016/02/15
- Re: Asynchronous DNS, Eli Zaretskii, 2016/02/15
- Re: Asynchronous DNS, Alain Schneble, 2016/02/15
- Re: Asynchronous DNS, Alain Schneble, 2016/02/15
- Re: Asynchronous DNS, Lars Ingebrigtsen, 2016/02/15
- Re: Asynchronous DNS, Alain Schneble, 2016/02/16