summaryrefslogtreecommitdiff
path: root/sys/src/cmd/cfs
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/cfs
parentd84aeddee7911c9df739bad58c72189ac336f23f (diff)
make filesystem handling of read9pmsg() consistent
Diffstat (limited to 'sys/src/cmd/cfs')
-rw-r--r--sys/src/cmd/cfs/cfs.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/src/cmd/cfs/cfs.c b/sys/src/cmd/cfs/cfs.c
index 2fbf3f421..d49e32a98 100644
--- a/sys/src/cmd/cfs/cfs.c
+++ b/sys/src/cmd/cfs/cfs.c
@@ -808,8 +808,9 @@ rcvmsg(P9fs *p, Fcall *f)
char buf[128];
olen = p->len;
- p->len = read9pmsg(p->fd[0], datarcv, sizeof(datarcv));
- if(p->len <= 0){
+ while((p->len = read9pmsg(p->fd[0], datarcv, sizeof(datarcv))) == 0)
+ ;
+ if(p->len < 0){
snprint(buf, sizeof buf, "read9pmsg(%d)->%ld: %r",
p->fd[0], p->len);
error(buf);