Przeglądaj źródła

fixing deadlock

reid 2 lat temu
rodzic
commit
23a6e50d70
1 zmienionych plików z 1 dodań i 1 usunięć
  1. 1 1
      broadcast/broadcast.go

+ 1 - 1
broadcast/broadcast.go

@@ -234,7 +234,6 @@ func GetContainerNetworks(containers []string) map[string]string {
 func UpdateBroadcastState(values map[string]interface{}) error {
 	config.Logger.Info("updatestate mu lock")
 	mu.Lock()
-	defer mu.Unlock()
 	v := reflect.ValueOf(&broadcastState).Elem()
 	for key, value := range values {
 		field := v.FieldByName(key)
@@ -250,6 +249,7 @@ func UpdateBroadcastState(values map[string]interface{}) error {
 		}
 	}
 	config.Logger.Info("Broadcasting updated state")
+	mu.Unlock()
 	BroadcastToClients()
 	config.Logger.Info("Broadcasted")
 	config.Logger.Info("getstate mu unlock")