From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Asynchronous DNS Date: Sun, 14 Feb 2016 18:32:02 +0200 Message-ID: <83h9hbz20t.fsf@gnu.org> References: <83egcqtfnm.fsf@gnu.org> <86mvrdmk8p.fsf@realize.ch> <877fihjo4m.fsf@gnus.org> <86io20n3xn.fsf@realize.ch> <8760y055l1.fsf@gnus.org> <8660xzmyyr.fsf@realize.ch> <87pow7ocyw.fsf@gnus.org> <861t8nmxlj.fsf@realize.ch> <87y4auiurw.fsf@gnus.org> <86k2me8dee.fsf@realize.ch> <83a8n9ddk5.fsf@gnu.org> <864mdh8vj5.fsf@realize.ch> <87pow579kt.fsf@gnus.org> <86ziv87st0.fsf@realize.ch> <87vb5u4qtq.fsf@gnus.org> <86egci6xvk.fsf@realize.ch> <87twldgsrv.fsf@gnus.org> <8637sw7w4m.fsf@realize.ch> <87vb5sdod6.fsf@gnus.org> <83lh6nzvfp.fsf@gnu.org> <87fuwv6ai4.fsf@gnus.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1455467531 3324 80.91.229.3 (14 Feb 2016 16:32:11 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 14 Feb 2016 16:32:11 +0000 (UTC) Cc: a.s@realize.ch, emacs-devel@gnu.org To: Lars Ingebrigtsen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Feb 14 17:32:10 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 1aUzak-0002us-CS for ged-emacs-devel@m.gmane.org; Sun, 14 Feb 2016 17:32:10 +0100 Original-Received: from localhost ([::1]:51768 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aUzaj-0005g1-Hm for ged-emacs-devel@m.gmane.org; Sun, 14 Feb 2016 11:32:09 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52955) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aUzad-0005dy-CH for emacs-devel@gnu.org; Sun, 14 Feb 2016 11:32:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aUzaZ-0001Db-Bz for emacs-devel@gnu.org; Sun, 14 Feb 2016 11:32:03 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57757) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aUzaZ-0001DX-9P; Sun, 14 Feb 2016 11:31:59 -0500 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3108 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1aUzaY-00025O-EI; Sun, 14 Feb 2016 11:31:58 -0500 In-reply-to: <87fuwv6ai4.fsf@gnus.org> (message from Lars Ingebrigtsen on Sun, 14 Feb 2016 18:01:39 +1100) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e 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:199932 Archived-At: > From: Lars Ingebrigtsen > Cc: a.s@realize.ch, emacs-devel@gnu.org > Date: Sun, 14 Feb 2016 18:01:39 +1100 > > Eli Zaretskii writes: > > > Yes. But AFAIU the suggestion to "add blockers" simply makes these > > functions wait until the process is in that state. So code that did > > this outside of those functions will "just work" because these > > blockers will become no-ops. > > The issue is losing asynchronicity. A function that previously called > > (progn > (make-network-stream ... :nowait t) > (set-process-coding-system ...)) > > would not block. With the proposed blockers (unless we add fine-grained > code to all the process function to only block if we haven't even done > DNS yet), this code will block. And that's a regression. If set-process-coding-system worked in the above snippet, it means it doesn't need to block waiting for a fully capable process object. If it didn't work (as in signaled an error), then there's no regression. > But, I mean, we could examine all these process functions and only have > them block where we need them to, and things would work fine. If the above snippet works now, you have already examined that function, and you know what the conclusions are.