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.
.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.