Răsfoiți Sursa

fixing deadlock

reid 2 ani în urmă
părinte
comite
1da990f63d
1 a modificat fișierele cu 3 adăugiri și 0 ștergeri
  1. 3 0
      broadcast/broadcast.go

+ 3 - 0
broadcast/broadcast.go

@@ -338,12 +338,15 @@ func BroadcastToClients() error {
 		errmsg := fmt.Errorf("Error marshalling auth broadcast:", err)
 		return errmsg
 	}
+	auth.AuthenticatedClients.Lock()
+	defer auth.AuthenticatedClients.Unlock()
 	for client := range auth.AuthenticatedClients.Conns {
 		if err := client.WriteMessage(websocket.TextMessage, authJson); err != nil {
 			config.Logger.Error(fmt.Sprintf("Error writing response: %v", err))
 			return err
 		}
 	}
+	config.Logger.Info("Broadcast done")
 	return nil
 }