From: Lars Ingebrigtsen <larsi@gnus.org>
Date: Mon, 22 Feb 2016 02:20:04 +0000 (+1100)
Subject: Mention sentinels in conjunction with :nowait t.
X-Git-Tag: emacs-26.0.90~2520^2~1
X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=41895f93be76cc1489856debaa3578f849451984;p=emacs.git

Mention sentinels in conjunction with :nowait t.

* doc/lispref/processes.texi (Network Processes): Mention the
recommended way of using sentinels with :nowait t.
---

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