QLock;
Rendez;
Queueelem;
- int pid;
+ int pid, flush;
Req *cur;
- jmp_buf flush;
};
struct Fid
Tree* tree;
void (*destroyfid)(Fid*);
void (*destroyreq)(Req*);
+ void (*start)(Srv*);
void (*end)(Srv*);
void* aux;
char* addr;
QLock slock;
- Ref sref;
+ Ref sref; /* srvwork procs */
+ Ref rref; /* requests in flight */
+
+ int spid; /* pid of srv() caller */
+
+ void (*free)(Srv*);
};
void srv(Srv*);
Reqqueue* reqqueuecreate(void);
void reqqueuepush(Reqqueue*, Req*, void (*)(Req *));
void reqqueueflush(Reqqueue*, Req*);
-int reqqueueflushed(void);
+void reqqueuefree(Reqqueue*);