diff options
Diffstat (limited to 'server/map.go')
| -rw-r--r-- | server/map.go | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/server/map.go b/server/map.go index f210d42..345a62c 100644 --- a/server/map.go +++ b/server/map.go @@ -201,14 +201,16 @@ func (v *blockVolume) unsyncBlocksInRange(min, max blockPos) []blockType { func (v *blockVolume) syncCompressForNetwork(/*highBits bool*/) io.ReadCloser { rd, wr := io.Pipe() go func() { + defer wr.Close() v.RLock() defer v.RUnlock() bw := bufio.NewWriter(wr) defer bw.Flush() + writePointlessGzipHeader(bw) - len := uint32(v.size.X*v.size.Y*v.size.Z) - deflateRuns(wr, v.blockRuns, v.changes, len) - writePointlessGzipTrailer(bw, len) + size := uint32(v.size.X*v.size.Y*v.size.Z) + dataLen, _ := deflateRuns(bw, v.blockRuns, v.changes, size) + writePointlessGzipTrailer(bw, dataLen) }() return rd } |
