aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/venti/venti.c
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2004-03-11 19:14:09 +0000
committerrsc <devnull@localhost>2004-03-11 19:14:09 +0000
commit24998851775d2d2a737a172dc614d9b5c91706dc (patch)
tree6b249cd18b9ca71aec829c7a4686974f0594cf88 /src/cmd/venti/venti.c
parentd49a2e4801752c8a1211c7fac8cc08055a6b6fa5 (diff)
downloadplan9port-24998851775d2d2a737a172dc614d9b5c91706dc.tar.gz
plan9port-24998851775d2d2a737a172dc614d9b5c91706dc.tar.bz2
plan9port-24998851775d2d2a737a172dc614d9b5c91706dc.zip
Implement write buffer.
Diffstat (limited to 'src/cmd/venti/venti.c')
-rw-r--r--src/cmd/venti/venti.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/cmd/venti/venti.c b/src/cmd/venti/venti.c
index 6423f7fa..fc0a75b9 100644
--- a/src/cmd/venti/venti.c
+++ b/src/cmd/venti/venti.c
@@ -139,6 +139,7 @@ ventiserver(char *addr)
Packet *p;
VtReq *r;
VtSrv *s;
+ char err[ERRMAX];
s = vtlisten(addr);
if(s == nil)
@@ -153,17 +154,22 @@ ventiserver(char *addr)
vtrerror(r, "unknown request");
break;
case VtTread:
- if((r->rx.data = readlump(r->tx.score, r->tx.dtype, r->tx.count)) == nil)
- vtrerror(r, gerrstr());
+ if((r->rx.data = readlump(r->tx.score, r->tx.dtype, r->tx.count)) == nil){
+ rerrstr(err, sizeof err);
+ vtrerror(r, err);
+ }
break;
case VtTwrite:
p = r->tx.data;
r->tx.data = nil;
- if(writelump(p, r->rx.score, r->tx.dtype, 0) < 0)
- vtrerror(r, gerrstr());
+ if(writelump(p, r->rx.score, r->tx.dtype, 0) < 0){
+ rerrstr(err, sizeof err);
+ vtrerror(r, err);
+ }
break;
case VtTsync:
- queueflush();
+ flushqueue();
+ flushdcache();
break;
}
vtrespond(r);