From 07494878dc5ae11652cbe221cf9e2a20da94ca96 Mon Sep 17 00:00:00 2001 From: rsc Date: Thu, 27 Jan 2005 20:36:04 +0000 Subject: remove searching print; check fids in use; handle addr correctly again --- src/cmd/acme/fsys.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'src/cmd/acme/fsys.c') diff --git a/src/cmd/acme/fsys.c b/src/cmd/acme/fsys.c index 66b935f8..536a3334 100644 --- a/src/cmd/acme/fsys.c +++ b/src/cmd/acme/fsys.c @@ -160,10 +160,24 @@ fsysproc(void *v) if(fcall[x->fcall.type] == 0) x = respond(x, &t, "bad fcall type"); else{ - if(x->fcall.type==Tversion || x->fcall.type==Tauth) + switch(x->fcall.type){ + case Tversion: + case Tauth: + case Tflush: f = nil; - else + break; + case Tattach: + f = newfid(x->fcall.fid); + break; + default: f = newfid(x->fcall.fid); + if(!f->busy){ + x->f = f; + x = respond(x, &t, "fid not in use"); + continue; + } + break; + } x->f = f; x = (*fcall[x->fcall.type])(x, f); } -- cgit v1.2.3