From 41895f93be76cc1489856debaa3578f849451984 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Mon, 22 Feb 2016 13:20:04 +1100 Subject: [PATCH] Mention sentinels in conjunction with :nowait t. * doc/lispref/processes.texi (Network Processes): Mention the recommended way of using sentinels with :nowait t. --- doc/lispref/processes.texi | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi index 8234501fd89..79cebaa79fa 100644 --- a/doc/lispref/processes.texi +++ b/doc/lispref/processes.texi @@ -2426,6 +2426,14 @@ Depending on the capabilities of Emacs, how asynchronous be done asynchronously are domain name resolution, socket setup, and (for TLS connections) TLS negotiation. +Many functions that interact with process objects, (for instance, +@code{process-datagram-address}) rely on them at least having a socket +before they can return a useful value. These functions will block +until the socket has achieved the desired status. The recommended way +of interacting with asynchronous sockets is to place a sentinel on the +process, and not try to interact with it before it has changed status +to @samp{"run"}. That way, none of these functions will block. + @item :tls-parameters When opening a TLS connection, this should be where the first element is the TLS type (which should either be @code{gnutls-x509pki} or -- 2.39.5