ref: fa56753ed842ae5416ecbb7e75e39ec85a36c68c
parent: 51cb8f50d82b3d22f5c8e42029e5fc3162c7acd8
author: cinap_lenrek <[email protected]>
date: Wed Jul 2 20:47:10 EDT 2014
add 9pqueue(2), medium to low quality manpage.
--- /dev/null
+++ b/sys/man/2/9pqueue
@@ -1,0 +1,61 @@
+.TH 9PQUEUE 2
+.SH NAME
+Reqqueue,
+reqqueuecreate,
+reqqueuepush,
+reqqueueflush \- defered processing of 9P requests
+.SH SYNOPSIS
+.ft L
+.nf
+#include <u.h>
+#include <libc.h>
+#include <fcall.h>
+#include <thread.h>
+#include <9p.h>
+.fi
+.PP
+.ft L
+.nf
+.ta \w'\fLFile 'u
+struct Reqqueue
+{
+ \fI...\fP
+};
+.fi
+.PP
+.ft L
+.nf
+.ta \w'\fLReaddir* 'u +4n +4n
+Reqqueue* reqqueuecreate(void);
+void reqqueuepush(Reqqueue *q, Req *r, void (*f)(Req *));
+void reqqueueflush(Reqqueue *q, Req *r);
+.fi
+.SH DESCRIPTION
+.I Reqqueue
+provides routines for defered processing of 9p request in
+multithreaded 9p servers.
+.PP
+The
+.I reqqueuecreate
+function spawns a process for handling requests returning
+a pointer to the
+.I Reqqueue
+structure allocated.
+.PP
+To schedule a request to be processed on a queue,
+.I reqqueuepush
+is called with request
+.I r
+and its handler function
+.IR f .
+.PP
+A previously submited request can be flushed from a queue
+by
+.I reqqueueflush
+which will reply the request immidiately when processing has
+not started. If processing has been started, the process
+will be interrupted.
+.SH SOURCE
+.B /sys/src/lib9p/queue.c
+.SH SEE ALSO
+.IR 9p (2)