diff options
author | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-06-16 06:26:31 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-06-16 06:26:31 +0200 |
commit | e36d9f5c4e667970a4a7aa15744e304ccc7c58f3 (patch) | |
tree | 353251f1adcf5cd89a1cc901f7aed099011b8a19 /sys/src/cmd/aux | |
parent | d84aeddee7911c9df739bad58c72189ac336f23f (diff) |
make filesystem handling of read9pmsg() consistent
Diffstat (limited to 'sys/src/cmd/aux')
-rw-r--r-- | sys/src/cmd/aux/consolefs.c | 5 | ||||
-rw-r--r-- | sys/src/cmd/aux/depend.c | 5 |
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){ |