diff options
Diffstat (limited to 'azalea-client/src/client.rs')
| -rw-r--r-- | azalea-client/src/client.rs | 8 |
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"); |
