aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--azalea-client/src/client.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/azalea-client/src/client.rs b/azalea-client/src/client.rs
index c2d5b745..75661d19 100644
--- a/azalea-client/src/client.rs
+++ b/azalea-client/src/client.rs
@@ -314,7 +314,12 @@ impl Client {
/// Disconnect from the server, ending all tasks.
pub async fn shutdown(self) -> Result<(), std::io::Error> {
- self.write_conn.lock().await.shutdown().await?;
+ if let Err(e) = self.write_conn.lock().await.shutdown().await {
+ warn!(
+ "Error shutting down connection, but it might be fine: {}",
+ e
+ );
+ }
let tasks = self.tasks.lock();
for task in tasks.iter() {
task.abort();
@@ -491,6 +496,7 @@ impl Client {
}
ClientboundGamePacket::Disconnect(p) => {
debug!("Got disconnect packet {:?}", p);
+ client.shutdown().await?;
}
ClientboundGamePacket::UpdateRecipes(_p) => {
debug!("Got update recipes packet");