commit df082b96e9dc0b22414d162c00436b4e74008478
parent b46c89a4d1d6c43ca3010fecb119c93927cf76a1
Author: francoispqt <francois@parquet.ninja>
Date: Sun, 20 May 2018 02:04:11 +0800
add lock on consumers
Diffstat:
1 file changed, 2 insertions(+), 0 deletions(-)
diff --git a/encode_stream.go b/encode_stream.go
@@ -46,10 +46,12 @@ func (s *StreamEncoder) EncodeStream(m MarshalerStream) {
case <-s.done:
default:
ss := Stream.borrowEncoder(s.w)
+ ss.mux.Lock()
ss.done = s.done
ss.buf = make([]byte, 0, 512)
ss.delimiter = s.delimiter
go consume(s, ss, m)
+ ss.mux.Unlock()
}
s.mux.RUnlock()
}