diff options
author | rsc <devnull@localhost> | 2005-02-11 16:56:15 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2005-02-11 16:56:15 +0000 |
commit | 2e397eb47c87e78b4a9e2f4a550be4792bd05fa2 (patch) | |
tree | 696a69f20b422623857dc00cf309791db2d346e7 /src/cmd/factotum/fs.c | |
parent | 3889d01d4b0d7a0c5e32ba81fb3c7e01094b8884 (diff) | |
download | plan9port-2e397eb47c87e78b4a9e2f4a550be4792bd05fa2.tar.gz plan9port-2e397eb47c87e78b4a9e2f4a550be4792bd05fa2.tar.bz2 plan9port-2e397eb47c87e78b4a9e2f4a550be4792bd05fa2.zip |
bug fixes; add secstore
Diffstat (limited to 'src/cmd/factotum/fs.c')
-rw-r--r-- | src/cmd/factotum/fs.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/cmd/factotum/fs.c b/src/cmd/factotum/fs.c index 0e4f2fd6..1d801b42 100644 --- a/src/cmd/factotum/fs.c +++ b/src/cmd/factotum/fs.c @@ -419,7 +419,7 @@ fsflush(Req *r) static void fsdestroyfid(Fid *fid) { - if(fid->qid.path == Qrpc){ + if(fid->qid.path == Qrpc && fid->aux){ convhangup(fid->aux); convclose(fid->aux); } @@ -435,8 +435,6 @@ fsreqthread(void *v) USED(v); - creq = chancreate(sizeof(Req*), 0); - while((r = recvp(creq)) != nil){ switch(r->ifcall.type){ default: @@ -464,8 +462,6 @@ fsclunkthread(void *v) Fid *f; USED(v); - cfid = chancreate(sizeof(Fid*), 0); - cfidr = chancreate(sizeof(Fid*), 0); while((f = recvp(cfid)) != nil){ fsdestroyfid(f); @@ -486,13 +482,6 @@ fsproc(void *v) static void fsattach(Req *r) { - static int first = 1; - - if(first){ - proccreate(fsproc, nil, STACK); - first = 0; - } - r->fid->qid = mkqid(QTDIR, Qroot); r->ofcall.qid = r->fid->qid; respond(r, nil); @@ -511,6 +500,17 @@ fssendclunk(Fid *f) recvp(cfidr); } +void +fsstart(Srv *s) +{ + USED(s); + + creq = chancreate(sizeof(Req*), 0); + cfid = chancreate(sizeof(Fid*), 0); + cfidr = chancreate(sizeof(Fid*), 0); + proccreate(fsproc, nil, STACK); +} + Srv fs = { .attach= fsattach, .walk1= fswalk1, @@ -520,5 +520,6 @@ Srv fs = { .stat= fsstat, .flush= fssend, .destroyfid= fssendclunk, +.start= fsstart, }; |