]> git.pond.sub.org Git - empserver/commitdiff
Document blocking constraints.
authorMarkus Armbruster <armbru@pond.sub.org>
Fri, 1 Jul 2005 19:51:00 +0000 (19:51 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Fri, 1 Jul 2005 19:51:00 +0000 (19:51 +0000)
doc/clients-howto

index e5e90602f1ba7d15759d38745bb55198b45ebb0f..593220fbfa784f3e2b649f4dbc45b0f999f619a7 100644 (file)
@@ -53,9 +53,15 @@ Clients should not send overlong or malformed UTF-8 sequences.
 A client is called synchronous if it waits for a prompt before it
 sends another line of input.  Else it is called asynchronous.
 
+Asynchronous clients must take care to avoid blocking on sending
+input.  If the client process blocks that way, it can't receive server
+output until the server reads more input.  That may never happen,
+because the server may well block on output, which then deadlocks the
+session.
+
 An Empire session consists of two phases: login and playing.
 emp_client is synchronous during the former and asynchronous during
-the latter.
+the latter.  It can currently deadlock as described above.
 
 Login phase
 -----------