struct Fsrpc
{
Fsrpc *next; /* freelist */
+ uintptr pid; /* Pid of slave process executing the rpc */
+ int canint; /* Interrupt gate */
int flushtag; /* Tag on which to reply to flush */
Fcall work; /* Plan 9 incoming Fcall */
uchar buf[]; /* Data buffer */
struct Proc
{
- Lock;
+ uintptr pid;
Fsrpc *busy;
Proc *next;
- int pid;
};
struct Qidtab
enum
{
+ MAXPROC = 50,
FHASHSIZE = 64,
Fidchunk = 1000,
Npsmpt = 32,
void slaveopen(Fsrpc*);
void slaveread(Fsrpc*);
void slavewrite(Fsrpc*);
-void blockingslave(Proc*);
+void blockingslave(void);
void reopen(Fid *f);
void noteproc(int, char*);
void flushaction(void*, char*);