summaryrefslogtreecommitdiff
path: root/sys/src/cmd/aux
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2013-06-16 06:26:31 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2013-06-16 06:26:31 +0200
commite36d9f5c4e667970a4a7aa15744e304ccc7c58f3 (patch)
tree353251f1adcf5cd89a1cc901f7aed099011b8a19 /sys/src/cmd/aux
parentd84aeddee7911c9df739bad58c72189ac336f23f (diff)
make filesystem handling of read9pmsg() consistent
Diffstat (limited to 'sys/src/cmd/aux')
-rw-r--r--sys/src/cmd/aux/consolefs.c5
-rw-r--r--sys/src/cmd/aux/depend.c5
2 files changed, 6 insertions, 4 deletions
diff --git a/sys/src/cmd/aux/consolefs.c b/sys/src/cmd/aux/consolefs.c
index 180431bd4..ebc5e1230 100644
--- a/sys/src/cmd/aux/consolefs.c
+++ b/sys/src/cmd/aux/consolefs.c
@@ -681,8 +681,9 @@ fsrun(void *v)
}
free(d);
r = allocreq(fs, messagesize);
- n = read9pmsg(fs->fd, r->buf, messagesize);
- if(n <= 0)
+ while((n = read9pmsg(fs->fd, r->buf, messagesize)) == 0)
+ ;
+ if(n < 0)
fatal("unmounted");
if(convM2S(r->buf, n, &r->f) == 0){
diff --git a/sys/src/cmd/aux/depend.c b/sys/src/cmd/aux/depend.c
index a7e031d38..6132b2d22 100644
--- a/sys/src/cmd/aux/depend.c
+++ b/sys/src/cmd/aux/depend.c
@@ -365,9 +365,10 @@ fsrun(void *a)
for(;;){
r = allocreq(messagesize);
qlock(&iolock);
- n = read9pmsg(fs->fd, r->buf, messagesize);
+ while((n = read9pmsg(fs->fd, r->buf, messagesize)) == 0)
+ ;
qunlock(&iolock);
- if(n <= 0)
+ if(n < 0)
fatal("read9pmsg error: %r");
if(convM2S(r->buf, n, &r->f) == 0){