grpcproxy: fix a data race

This commit is contained in:
Xiang Li 2016-09-03 07:53:18 -07:00
parent b56ee178d5
commit 56cfe40184

View File

@ -56,6 +56,7 @@ func NewWatchProxy(c *clientv3.Client) pb.WatchServer {
func (wp *watchProxy) Watch(stream pb.Watch_WatchServer) (err error) {
wp.mu.Lock()
wp.nextStreamID++
sid := wp.nextStreamID
wp.mu.Unlock()
sws := serverWatchStream{
@ -64,7 +65,7 @@ func (wp *watchProxy) Watch(stream pb.Watch_WatchServer) (err error) {
singles: make(map[int64]*watcherSingle),
inGroups: make(map[int64]struct{}),
id: wp.nextStreamID,
id: sid,
gRPCStream: stream,
watchCh: make(chan *pb.WatchResponse, 1024),