summaryrefslogtreecommitdiff
path: root/sys/src/cmd/ndb
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/ndb
parentd84aeddee7911c9df739bad58c72189ac336f23f (diff)
make filesystem handling of read9pmsg() consistent
Diffstat (limited to 'sys/src/cmd/ndb')
-rw-r--r--sys/src/cmd/ndb/cs.c4
-rw-r--r--sys/src/cmd/ndb/dns.c5
2 files changed, 6 insertions, 3 deletions
diff --git a/sys/src/cmd/ndb/cs.c b/sys/src/cmd/ndb/cs.c
index f760c8f39..512f1706a 100644
--- a/sys/src/cmd/ndb/cs.c
+++ b/sys/src/cmd/ndb/cs.c
@@ -444,8 +444,10 @@ io(void)
for(;;){
n = read9pmsg(mfd[0], mdata, sizeof mdata);
- if(n<=0)
+ if(n < 0)
error("mount read");
+ if(n == 0)
+ continue;
job = newjob();
if(convM2S(mdata, n, &job->request) != n){
syslog(1, logfile, "format error %ux %ux %ux %ux %ux",
diff --git a/sys/src/cmd/ndb/dns.c b/sys/src/cmd/ndb/dns.c
index 32bae4040..5a8e25ce6 100644
--- a/sys/src/cmd/ndb/dns.c
+++ b/sys/src/cmd/ndb/dns.c
@@ -430,8 +430,9 @@ io(void)
while(!stop){
procsetname("%d %s/dns Twrites of %d 9p rpcs read; %d alarms",
stats.qrecvd9p, mntpt, stats.qrecvd9prpc, stats.alarms);
- n = read9pmsg(mfd[0], mdata, sizeof mdata);
- if(n<=0){
+ while((n = read9pmsg(mfd[0], mdata, sizeof mdata)) == 0)
+ ;
+ if(n < 0){
dnslog("error reading 9P from %s: %r", mntpt);
sleep(2000); /* don't thrash after read error */
return;