Change summary
crates/client/src/client.rs | 3 +++
crates/project/src/project.rs | 3 +++
2 files changed, 6 insertions(+)
Detailed changes
@@ -631,6 +631,9 @@ impl Client {
} else {
log::info!("unhandled message {}", type_name);
}
+
+ // Don't starve the main thread when receiving lots of messages at once.
+ smol::future::yield_now().await;
}
}
})
@@ -1278,6 +1278,9 @@ impl Project {
this.update(&mut cx, |this, cx| {
this.on_lsp_event(server_id, event, &language, cx)
});
+
+ // Don't starve the main thread when lots of events arrive all at once.
+ smol::future::yield_now().await;
}
Some(())
}