summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2013-10-17 08:26:05 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2013-10-17 08:26:05 +0200
commite30f50283c60e21763aa28def66deab70ae12187 (patch)
treeaa363f0055ddf293b894c3141820fdc35f8dec40
parent52fc6d50d49b95e4598e2c9bb65e15e37035bf28 (diff)
downloadplan9front-e30f50283c60e21763aa28def66deab70ae12187.tar.xz
9p(2): correct usage for srvrelease()/srvacquire()
the process is *NOT* allowed to exit after a srvrelease() as it still holds a reference (srv->rref) preventing the srv from beging freed/ended (listensrv) before srvacquire().
-rw-r--r--sys/man/2/9p12
1 files changed, 6 insertions, 6 deletions
diff --git a/sys/man/2/9p b/sys/man/2/9p
index dcff3e44a..2fbd944e6 100644
--- a/sys/man/2/9p
+++ b/sys/man/2/9p
@@ -363,13 +363,13 @@ block, arranging for alternate processes
to handle them is suggested.
.PP
.I Srvrelease
-detaches the calling process from the server loop and
-if neccesary spawns a new process to handle 9p requests.
-When released, the process is free to do blocking work
-or even exit because it now running in parallel to the
-server loop.
+temporarily releases the calling process from the server
+loop and if neccesary spawns a new process to handle 9p
+requests. When released, the process can do blocking work
+that would otherwise halt processing of 9p requests.
.I Srvacquire
-joins the calling (released) process with the server loop.
+rejoins the calling process with the server loop after
+a srvrelease.
.PP
The constraints on the service functions are as follows.
These constraints are checked while the server executes.