gojay

high performance JSON encoder/decoder with stream API for Golang
git clone git://git.lair.cx/gojay
Log | Files | Refs | README | LICENSE

commit df082b96e9dc0b22414d162c00436b4e74008478
parent b46c89a4d1d6c43ca3010fecb119c93927cf76a1
Author: francoispqt <francois@parquet.ninja>
Date:   Sun, 20 May 2018 02:04:11 +0800

add lock on consumers

Diffstat:
Mencode_stream.go | 2++
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() }