]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/man/2/9p
auth/keyfs: support -r flag to mount read-only
[plan9front.git] / sys / man / 2 / 9p
index 381308da4a18a46e54dbfe86dcecbbb614d736a0..5fb78babc4193e298ade7c7baa7fccb497393d63 100644 (file)
@@ -52,6 +52,7 @@ typedef struct Srv {
 
        void            (*destroyfid)(Fid *fid);
        void            (*destroyreq)(Req *r);
+       void            (*start)(Srv *s);
        void            (*end)(Srv *s);
        void*   aux;
 
@@ -359,16 +360,17 @@ and
 is single-threaded.
 If it is expected that some requests might
 block, arranging for alternate processes
-to handle them is suggested.
+to handle them is suggested (see
+.IR 9pqueue (2)).
 .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.
@@ -721,6 +723,7 @@ has been sent.
 .PP
 .IR Destroyfid ,
 .IR destroyreq ,
+.IR start ,
 and
 .I end
 are auxiliary functions, not called in direct response to 9P requests.
@@ -751,6 +754,10 @@ is called to allow the program to dispose of the
 .IB r -> aux
 pointer.
 .TP
+.I Start
+This gets called (from the forked service process) 
+prior entering the 9P service loop.
+.TP
 .I End
 Once the 9P service loop has finished
 (end of file been reached on the service pipe
@@ -791,12 +798,6 @@ option to increment
 and
 .B /sys/src/lib9p/ramfs.c
 are good examples of simple single-threaded file servers.
-.IR Webfs (4)
-and
-.I sshnet
-(see
-.IR ssh (1))
-are good examples of multithreaded file servers.
 .PP
 In general, the
 .B File
@@ -816,6 +817,7 @@ or is maintained elsewhere.
 .SH SEE ALSO
 .IR 9pfid (2),
 .IR 9pfile (2),
+.IR 9pqueue (2),
 .IR srv (3),
 .IR shr (3),
 .IR intro (5)