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:
parent
52fc6d50d4
commit
e30f50283c
1 changed files with 6 additions and 6 deletions
12
sys/man/2/9p
12
sys/man/2/9p
|
@ -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.
|
||||||
|
|
Loading…
Reference in a new issue