commit - 9cb6f43045e64e6dcbe1fa5ccd4848838ba76178
commit + 94235a8b4bdd20766b41302fa21a31df660b078b
blob - a42af96bb807cf21df910ef1e0ed550e9fe27970
blob + 9714ef6044f474fef26d37756bdde8c885217638
--- src/libfs/fs.c
+++ src/libfs/fs.c
fs->mux.recv = _fsrecv;
fs->mux.gettag = _fsgettag;
fs->mux.settag = _fssettag;
+ fs->iorecv = ioproc();
+ fs->iosend = ioproc();
muxinit(&fs->mux);
return fs;
}
next = f->next;
free(f);
}
+ closeioproc(fs->iorecv);
+ closeioproc(fs->iosend);
free(fs);
return;
}
Fsys *fs;
fs = mux->aux;
- return threadwrite(fs->fd, pkt, GBIT32((uchar*)pkt));
+ return iowrite(fs->iosend, fs->fd, pkt, GBIT32((uchar*)pkt));
}
static void*
Fsys *fs;
fs = mux->aux;
- n = threadreadn(fs->fd, buf, 4);
+ n = ioreadn(fs->iorecv, fs->fd, buf, 4);
if(n != 4)
return nil;
n = GBIT32(buf);
return nil;
}
PBIT32(pkt, n);
- if(threadreadn(fs->fd, pkt+4, n-4) != n-4){
+ if(ioreadn(fs->iorecv, fs->fd, pkt+4, n-4) != n-4){
free(pkt);
return nil;
}
if(pkt[4] == Ropenfd){
- if((nfd=threadrecvfd(fs->fd)) < 0){
+ if((nfd=iorecvfd(fs->iorecv, fs->fd)) < 0){
fprint(2, "recv fd error: %r\n");
free(pkt);
return nil;
blob - fbcc37771b5ea281353c117d6b0ab37c36184f5b
blob + 59cecaa5c025b3b6fb4caa6ae42f11b662c14e06
--- src/libfs/fsimpl.h
+++ src/libfs/fsimpl.h
/* Copyright (C) 2003 Russ Cox, Massachusetts Institute of Technology */
/* See COPYRIGHT */
+#include <thread.h>
+
typedef struct Queue Queue;
Queue *_fsqalloc(void);
int _fsqsend(Queue*, void*);
Queue *rxq;
Fid *freefid;
int nextfid;
+ Ioproc *iorecv;
+ Ioproc *iosend;
};
struct Fid