summaryrefslogtreecommitdiff
path: root/sys/src/cmd/execnet/client.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@localhost>2011-08-22 03:06:50 +0200
committercinap_lenrek <cinap_lenrek@localhost>2011-08-22 03:06:50 +0200
commitdc14f6285dadf3b83be3b467d38f0f66d33578e3 (patch)
tree59638ac0c2cb82a4155d96286e59b65eaedeac9f /sys/src/cmd/execnet/client.c
parent5f59367beb6ef75b67dad79c0f4a047a7b0a361a (diff)
fix iointerrupt use
Diffstat (limited to 'sys/src/cmd/execnet/client.c')
-rw-r--r--sys/src/cmd/execnet/client.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/src/cmd/execnet/client.c b/sys/src/cmd/execnet/client.c
index 57414966d..0b90c181c 100644
--- a/sys/src/cmd/execnet/client.c
+++ b/sys/src/cmd/execnet/client.c
@@ -178,7 +178,7 @@ findrdreq(Client *c, Req *r)
*l = r->aux;
if(*l == nil)
c->erq = l;
- respond(r, "flushed");
+ respond(r, "interrupted");
break;
}
}
@@ -194,7 +194,7 @@ findwrreq(Client *c, Req *r)
*l = r->aux;
if(*l == nil)
c->ewq = l;
- respond(r, "flushed");
+ respond(r, "interrupted");
return;
}
}
@@ -252,6 +252,7 @@ clientflush(Req *or, Client *c)
if(c->execreq == or){
c->execreq = nil;
iointerrupt(c->writerproc);
+ ioflush(c->writerproc);
}
findwrreq(c, or);
if(c->curw == or){
@@ -298,6 +299,7 @@ writethread(void *a)
c->wq = r->aux;
c->curw = r;
n = iowrite(io, c->fd[1], r->ifcall.data, r->ifcall.count);
+ c->curw = nil;
if(chatty9p)
fprint(2, "io->write returns %d\n", n);
if(n >= 0){