Explorar el Código

Merge pull request #6873 from heyitsanthony/proxy-v3-watch-canceled-sync

grpcproxy: fix deadlock on watch broadcasts stop
Xiang Li hace 9 años
padre
commit
7e7c7e157e
Se han modificado 1 ficheros con 1 adiciones y 2 borrados
  1. 1 2
      proxy/grpcproxy/watch_broadcasts.go

+ 1 - 2
proxy/grpcproxy/watch_broadcasts.go

@@ -116,13 +116,12 @@ func (wbs *watchBroadcasts) empty() bool { return len(wbs.bcasts) == 0 }
 
 func (wbs *watchBroadcasts) stop() {
 	wbs.mu.Lock()
-	defer wbs.mu.Unlock()
-
 	for wb := range wbs.bcasts {
 		wb.stop()
 	}
 	wbs.bcasts = nil
 	close(wbs.updatec)
+	wbs.mu.Unlock()
 	<-wbs.donec
 }