From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Alain Schneble Newsgroups: gmane.emacs.devel Subject: Re: Asynchronous DNS Date: Mon, 8 Feb 2016 08:40:44 +0100 Message-ID: <8660xzmyyr.fsf@realize.ch> References: <87si1gx6wz.fsf@gnus.org> <86y4b5zvzt.fsf@gmail.com> <8760y9kwrk.fsf@gnus.org> <8760y7nag7.fsf@gnus.org> <83oabzzsjq.fsf@gnu.org> <87fuxazkfe.fsf@gnus.org> <83io25yeqk.fsf@gnu.org> <87h9hpnreg.fsf@gnus.org> <83y4b0wi7m.fsf@gnu.org> <87si17evk6.fsf@gnus.org> <83twlnvcz2.fsf@gnu.org> <87vb63obm3.fsf@gnus.org> <87r3gqmg6g.fsf@gnus.org> <83egcqtfnm.fsf@gnu.org> <86mvrdmk8p.fsf@realize.ch> <877fihjo4m.fsf@gnus.org> <86io20n3xn.fsf@realize.ch> <8760y055l1.fsf@gnus.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1454917322 1337 80.91.229.3 (8 Feb 2016 07:42:02 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 8 Feb 2016 07:42:02 +0000 (UTC) Cc: Eli Zaretskii , emacs-devel@gnu.org To: Lars Ingebrigtsen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Feb 08 08:41:54 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aSgSG-0005uW-Tb for ged-emacs-devel@m.gmane.org; Mon, 08 Feb 2016 08:41:53 +0100 Original-Received: from localhost ([::1]:42123 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aSgSG-00042u-AJ for ged-emacs-devel@m.gmane.org; Mon, 08 Feb 2016 02:41:52 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49606) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aSgS8-00041h-Rg for emacs-devel@gnu.org; Mon, 08 Feb 2016 02:41:48 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aSgS4-0000iN-VV for emacs-devel@gnu.org; Mon, 08 Feb 2016 02:41:44 -0500 Original-Received: from clientmail.realize.ch ([46.140.89.53]:1923) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1aSgS0-0000hC-A3; Mon, 08 Feb 2016 02:41:36 -0500 Original-Received: from rintintin.hq.realize.ch.lan.rit ([192.168.0.105]) by clientmail.realize.ch ; Mon, 8 Feb 2016 08:41:21 +0100 Original-Received: from MYNGB (192.168.250.224) by rintintin.hq.realize.ch.lan.rit (192.168.0.105) with Microsoft SMTP Server (TLS) id 15.0.516.32; Mon, 8 Feb 2016 08:40:44 +0100 In-Reply-To: <8760y055l1.fsf@gnus.org> (Lars Ingebrigtsen's message of "Mon, 08 Feb 2016 12:55:06 +1100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (windows-nt) X-ClientProxiedBy: rintintin.hq.realize.ch.lan.rit (192.168.0.105) To rintintin.hq.realize.ch.lan.rit (192.168.0.105) X-detected-operating-system: by eggs.gnu.org: Windows NT kernel [generic] X-Received-From: 46.140.89.53 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:199492 Archived-At: Lars Ingebrigtsen writes: > Alain Schneble writes: > >> Agreed. A name reflecting more the level of "asynchronicity" would be a >> better choice and less misleading, I think. > > :nowait 'immediate has a nice ring to it... ...yes, indeed :) >> But as said, even better would be a solution where this distinction is >> not necessary at all, IMHO. But you tried it out and the only feasible >> approach I see would be what Eli Zaretskii proposed, IIUC, to block and >> synchronously wait for DNS resolve completion and socket initialization >> in all the functions requiring a Lisp process having "valid" infd and/or >> outfd set. OTOH, that sounds quite invasive to those functions, doesn't >> it? > > It would be better if the application code didn't have to care, but that > means that either all those functions will have to block (getting us > back to square one, basically), ... Well, back to square /two/ I would say, depending on how you arrange the squares ;) Because application code would just loose the async-DNS-resolve benefits. As most of the functions such as `set-process-coding-system', that would need to block, require only an initialized socked (and not really a connected one). And if the author of the code doesn't care, he just accepted that he wrote semi-optimized async code -- but code that actually works. This doesn't sound wrong to me. The only thing that could happen is that he might not be aware of it. > ... or they'll have to set up a queue of > pending actions to be taken, which I think is rather too ambitious. Yes, that would introduce a new level of complexity that feels like it isn't worth it.