From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#22493: 25.1.50; open-gnutls-stream doesn't respect :nowait, so the connections are synchronous Date: Sat, 06 Feb 2016 09:51:35 +0200 Message-ID: <83io22tgxk.fsf@gnu.org> References: <87mvrnzpge.fsf@gnus.org> <878u37zndq.fsf@gnus.org> <83r3gzwhg8.fsf@gnu.org> <87fuxebrsy.fsf@gnus.org> <878u36fung.fsf@gnus.org> <8360y93fka.fsf@gnu.org> <87wpqpwd8p.fsf@gnus.org> <83d1sh14is.fsf@gnu.org> <87egcx13kc.fsf@gnus.org> <83bn801d06.fsf@gnu.org> <87bn7znazd.fsf@gnus.org> <83lh73ytxo.fsf@gnu.org> <87a8nizjia.fsf@gnus.org> <8760y6zha1.fsf@gnus.org> <83fux9yend.fsf@gnu.org> <87a8nhnqdy.fsf@gnus.org> <83wpqkwhts.fsf@gnu.org> <87oabveve1.fsf@gnus.org> <83si17vcut.fsf@gnu.org> <87r3grobjf.fsf@gnus.org> <83lh6zv7ko.fsf@gnu.org> <87mvreleur.fsf@gnus.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1454745211 24548 80.91.229.3 (6 Feb 2016 07:53:31 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 6 Feb 2016 07:53:31 +0000 (UTC) Cc: 22493@debbugs.gnu.org To: Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Feb 06 08:53:17 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1aRxgC-0007J1-LF for geb-bug-gnu-emacs@m.gmane.org; Sat, 06 Feb 2016 08:53:16 +0100 Original-Received: from localhost ([::1]:52290 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aRxg8-0000CL-RJ for geb-bug-gnu-emacs@m.gmane.org; Sat, 06 Feb 2016 02:53:12 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48380) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aRxg2-0000BY-6E for bug-gnu-emacs@gnu.org; Sat, 06 Feb 2016 02:53:10 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aRxfy-0004ZE-63 for bug-gnu-emacs@gnu.org; Sat, 06 Feb 2016 02:53:06 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:54719) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aRxfy-0004Z8-38 for bug-gnu-emacs@gnu.org; Sat, 06 Feb 2016 02:53:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84) (envelope-from ) id 1aRxfx-0006J6-Q9 for bug-gnu-emacs@gnu.org; Sat, 06 Feb 2016 02:53:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 06 Feb 2016 07:53:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 22493 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 22493-submit@debbugs.gnu.org id=B22493.145474513624192 (code B ref 22493); Sat, 06 Feb 2016 07:53:01 +0000 Original-Received: (at 22493) by debbugs.gnu.org; 6 Feb 2016 07:52:16 +0000 Original-Received: from localhost ([127.0.0.1]:35075 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aRxfA-0006I4-Lw for submit@debbugs.gnu.org; Sat, 06 Feb 2016 02:52:16 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:57240) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aRxf5-0006Hj-Tp for 22493@debbugs.gnu.org; Sat, 06 Feb 2016 02:52:11 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aRxew-0004UR-G3 for 22493@debbugs.gnu.org; Sat, 06 Feb 2016 02:52:02 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57692) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aRxew-0004UN-CV; Sat, 06 Feb 2016 02:51:58 -0500 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:2613 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1aRxev-0004UQ-L8; Sat, 06 Feb 2016 02:51:58 -0500 In-reply-to: <87mvreleur.fsf@gnus.org> (message from Lars Ingebrigtsen on Sat, 06 Feb 2016 14:03:40 +1100) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:112549 Archived-At: > From: Lars Ingebrigtsen > Cc: 22493@debbugs.gnu.org > Date: Sat, 06 Feb 2016 14:03:40 +1100 > > Eli Zaretskii writes: > > >> From: Lars Ingebrigtsen > >> Cc: 22493@debbugs.gnu.org > >> Date: Fri, 05 Feb 2016 18:34:44 +1100 > >> > >> There is no waiting in the GnuTLS library during negotiation. It is > >> fully asynchronous. If any action blocks, it will return, and we can > >> proceed later. It works, seen from the application side, as any other > >> network connection. > > > > The _waiting_ is asynchronous. The processing cannot be, because > > GnuTLS doesn't start any threads. > > I think you're nitpicking semantics now. There will be no user-visible > waiting while a TLS connection is negotiated, OK? That is only true if the foreground program has something useful to do while TLS negotiation goes on. You have a very particular application in mind (a browser) where you can just let user scroll through the rest of the buffer, but (1) what if the user doesn't want to scroll, but wants to see that image that wasn't yet downloaded; and (b) not every application is a browser where there's something to do while these negotiations go on. IOW, your changes might make sense for some small set of applications, but for the others it's just a major complication in the code base with no real gains. We shouldn't make such major changes in low-level code when they benefit only a small class of applications, IMO.