Don't starve main thread when lots of messages/events arrive at once

This commit is contained in:
Antonio Scandurra 2022-03-11 10:02:37 +01:00
parent 7a454003fe
commit 18b1e9d35f
2 changed files with 6 additions and 0 deletions

View File

@ -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;
}
}
})

View File

@ -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(())
}