diff options
author | rsc <devnull@localhost> | 2004-03-11 19:14:09 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2004-03-11 19:14:09 +0000 |
commit | 24998851775d2d2a737a172dc614d9b5c91706dc (patch) | |
tree | 6b249cd18b9ca71aec829c7a4686974f0594cf88 /src/cmd/venti/venti.c | |
parent | d49a2e4801752c8a1211c7fac8cc08055a6b6fa5 (diff) | |
download | plan9port-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.c | 16 |
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); |