We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 41d3e77 commit eaccb5eCopy full SHA for eaccb5e
1 file changed
netwatch/src/interfaces/windows.rs
@@ -42,11 +42,16 @@ fn get_default_route() -> Result<DefaultRouteDetails, Error> {
42
}
43
44
pub async fn default_route() -> Option<DefaultRouteDetails> {
45
- match get_default_route() {
46
- Ok(route) => Some(route),
47
- Err(err) => {
+ // WMI uses COM which can deadlock on a tokio worker thread.
+ match tokio::task::spawn_blocking(get_default_route).await {
+ Ok(Ok(route)) => Some(route),
48
+ Ok(Err(err)) => {
49
warn!("failed to retrieve default route: {:#?}", err);
50
None
51
52
+ Err(err) => {
53
+ warn!("default route task panicked: {:#?}", err);
54
+ None
55
+ }
56
57
0 commit comments