diff --git a/server/src/user_handler.rs b/server/src/user_handler.rs index b7dc0d0..df15918 100644 --- a/server/src/user_handler.rs +++ b/server/src/user_handler.rs @@ -177,12 +177,24 @@ impl UserHandler { .insert(addr, new_user.clone()); // Hydrate client - let tx = self.state.tx_game_handler.clone(); - let msg = GameHandlerMessage::BroadcastGamesUpdate(); - tokio::spawn(async move { tx.send(msg).await }); - let msg = GameHandlerMessage::SendCardPacks(dm_tx.clone()); - if let Err(e) = self.state.tx_game_handler.send(msg).await { - tracing::error!("Error contacing game handler {}", e) + if !dm_tx.is_closed() { + if let Err(e) = self + .state + .tx_game_handler + .send(GameHandlerMessage::BroadcastGamesUpdate()) + .await + { + tracing::error!("Error contacing game handler {}", e) + } + + if let Err(e) = self + .state + .tx_game_handler + .send(GameHandlerMessage::SendCardPacks(dm_tx.clone())) + .await + { + tracing::error!("Error contacing game handler {}", e) + } } // Broadcast new user's existence