fix iointerrupt use

This commit is contained in:
cinap_lenrek 2011-08-22 03:06:50 +02:00
parent 5f59367beb
commit dc14f6285d
2 changed files with 5 additions and 2 deletions

View file

@ -178,7 +178,7 @@ findrdreq(Client *c, Req *r)
*l = r->aux; *l = r->aux;
if(*l == nil) if(*l == nil)
c->erq = l; c->erq = l;
respond(r, "flushed"); respond(r, "interrupted");
break; break;
} }
} }
@ -194,7 +194,7 @@ findwrreq(Client *c, Req *r)
*l = r->aux; *l = r->aux;
if(*l == nil) if(*l == nil)
c->ewq = l; c->ewq = l;
respond(r, "flushed"); respond(r, "interrupted");
return; return;
} }
} }
@ -252,6 +252,7 @@ clientflush(Req *or, Client *c)
if(c->execreq == or){ if(c->execreq == or){
c->execreq = nil; c->execreq = nil;
iointerrupt(c->writerproc); iointerrupt(c->writerproc);
ioflush(c->writerproc);
} }
findwrreq(c, or); findwrreq(c, or);
if(c->curw == or){ if(c->curw == or){
@ -298,6 +299,7 @@ writethread(void *a)
c->wq = r->aux; c->wq = r->aux;
c->curw = r; c->curw = r;
n = iowrite(io, c->fd[1], r->ifcall.data, r->ifcall.count); n = iowrite(io, c->fd[1], r->ifcall.data, r->ifcall.count);
c->curw = nil;
if(chatty9p) if(chatty9p)
fprint(2, "io->write returns %d\n", n); fprint(2, "io->write returns %d\n", n);
if(n >= 0){ if(n >= 0){

View file

@ -515,6 +515,7 @@ fsflush(Req *r)
c = client[NUM(path)]; c = client[NUM(path)];
sendp(c->creq, r); sendp(c->creq, r);
iointerrupt(c->io); iointerrupt(c->io);
ioflush(c->io);
} }
static void static void