NAME
Reqqueue, reqqueuecreate, reqqueuepush, reqqueueflush – deferred
processing of 9P requests |
SYNOPSIS
#include <u.h> #include <libc.h> #include <fcall.h> #include <thread.h> #include <9p.h>
struct Reqqueue
Reqqueue* reqqueuecreate(void); |
DESCRIPTION
Reqqueue provides routines for deferred processing of 9p request
in multithreaded 9p servers. The reqqueuecreate function spawns a process for handling requests returning a pointer to the Reqqueue structure allocated. To schedule a request to be processed on a queue, reqqueuepush is called with request r and its handler function f. A previously submitted request can be flushed from a queue by reqqueueflush which will remove the request immediately if processing has not started. If processing has been started, the process will be interrupted.
Reqqueuefree frees a queue. No new requests should be sent to
the queue and it will be freed once all requests in it have been
processed. |
SOURCE
/sys/src/lib9p/queue.c |
SEE ALSO
9p(2) |