bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#40665: 28.0.50; tls hang on local ssl


From: Derek Zhou
Subject: bug#40665: 28.0.50; tls hang on local ssl
Date: Sat, 18 Apr 2020 02:44:05 +0000 (UTC)
User-agent: mu4e 1.0; emacs 26.1

Derek Zhou writes:

> When this thing happens, the tls handshakes are done properly. However,
> emacs did not write anything into gnutls before starting to read and
> obviously cannot get anything out at all. It is not really a hang, but
> write never happen and the display buffer stays empty.
>
> Derek

Took my nearly the whole day to debug, but this one-line patch fixed my
problem.
My server finishes tls handshake within the gnutls_boot itself, and if the
sentinel is not called right after, it will never be called so write
will not happen. Someone should review this carefully.

diff --git a/src/process.c b/src/process.c
index 91d426103d..6d497ef854 100644
--- a/src/process.c
+++ b/src/process.c
@@ -5937,8 +5937,7 @@ wait_reading_process_output (intmax_t time_limit, int 
nsecs, int read_kbd,
                  /* If we have an incompletely set up TLS connection,
                     then defer the sentinel signaling until
                     later. */
-                 if (NILP (p->gnutls_boot_parameters)
-                     && !p->gnutls_p)
+                 if (NILP (p->gnutls_boot_parameters))
 #endif
                    {
                      pset_status (p, Qrun);

reply via email to

[Prev in Thread] Current Thread [Next in Thread]