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().
This commit is contained in:
cinap_lenrek 2013-10-17 08:26:05 +02:00
parent 52fc6d50d4
commit e30f50283c

View file

@ -363,13 +363,13 @@ block, arranging for alternate processes
to handle them is suggested. to handle them is suggested.
.PP .PP
.I Srvrelease .I Srvrelease
detaches the calling process from the server loop and temporarily releases the calling process from the server
if neccesary spawns a new process to handle 9p requests. loop and if neccesary spawns a new process to handle 9p
When released, the process is free to do blocking work requests. When released, the process can do blocking work
or even exit because it now running in parallel to the that would otherwise halt processing of 9p requests.
server loop.
.I Srvacquire .I Srvacquire
joins the calling (released) process with the server loop. rejoins the calling process with the server loop after
a srvrelease.
.PP .PP
The constraints on the service functions are as follows. The constraints on the service functions are as follows.
These constraints are checked while the server executes. These constraints are checked while the server executes.