summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--tunnel-obfuscation/src/shadowsocks.rs11
1 files changed, 5 insertions, 6 deletions
diff --git a/tunnel-obfuscation/src/shadowsocks.rs b/tunnel-obfuscation/src/shadowsocks.rs
index eb56a3a63c..f40ee9d92a 100644
--- a/tunnel-obfuscation/src/shadowsocks.rs
+++ b/tunnel-obfuscation/src/shadowsocks.rs
@@ -115,9 +115,7 @@ async fn run_obfuscation(
}
client.abort();
- let _ = client.await;
server.abort();
- let _ = server.await;
Ok(())
}
@@ -228,10 +226,11 @@ impl Obfuscator for Shadowsocks {
}
async fn run(self: Box<Self>) -> crate::Result<()> {
- self.server
- .await
- .expect("server handle panicked")
- .map_err(crate::Error::RunShadowsocksObfuscator)
+ match self.server.await {
+ Ok(result) => result.map_err(crate::Error::RunShadowsocksObfuscator),
+ Err(_err) if _err.is_cancelled() => Ok(()),
+ Err(_err) => panic!("server handle panicked"),
+ }
}
#[cfg(target_os = "android")]