.TH 9PQUEUE 2 .SH NAME Reqqueue, reqqueuecreate, reqqueuepush, reqqueueflush \- deferred processing of 9P requests .SH SYNOPSIS .ft L .nf #include #include #include #include #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 deferred 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 submitted request can be flushed from a queue by .I reqqueueflush which will remove the request immediately if 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)