Subject: Re: bug#22493: 25.1.50; open-gnutls-stream doesn't respect :nowait, so the connections are synchronous

From: Lars Ingebrigtsen <[email-masked]>
Date: Thu, 04 Feb 2016 13:59:45 +1100

Eli Zaretskii <[email-masked]> writes:

> An application may wish to make DNS resolution asynchronous, but might
> not rely on Emacs becoming idle for GnuTLS initialization.  IOW, we
> need a separate option for that.

Well, if you're saying :nowait, it means that you're setting up to talk
to the process asynchronously.  So you'll be using process filters and
sentinels to talk to it.  Otherwise you'll be using
accept-process-output I think.  In either case, you're not involved with
the TLS negotiation -- it's not something you're ... relying on, it's
just there.

I mean, if you're opening a :nowait connection, and Emacs never becomes
idle ever, you're never getting your process-filtered output.  But
that's not something that happens.

>> Unfortunately, there are virtually no network tests in the suite.  At
>> least I couldn't find any.
>
> I know.  We need to add them.  Such a radical change in the core
> infrastructure used all over the place cannot be trusted without some
> minimal testing of the popular paradigms of its usage.  E.g., does
> synchronous URL retrieval still work? what about asynchronous one?
> what about SMTP with TLS? 

I've tested all of that, but without a test suite.

> etc. etc. There's a potential here to break a lot of functionality out
> there.

Yes.  Somebody should write a test suite anyway.  :-)

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no