-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Description
So looks like we are hitting some thread priorities problems on windows. Specifically, we run cargo check process "in the background", which, in theory, should not block our main loop from processing requests.
However, it seems like cargo check manages to monopolize the CPU, preventing important sync handlers from running: #2825 (comment)
I guess the crude fix for this would be to mark cargo check process group as low priority. If this is a correct fix, maybe it should even be done in Cargo?
However, I would expect windows thread scheduler to be fair, and so I can't actually explain why blocking happens here at the first place. Ideally, we should dig into this before rushing through with the fix. I think there might be some bug in how we arrange cargo check (like, maybe we really just block on it's output somewhere?) or there indeed might be some subtle OS-level effect.
I ... don't know anything about this part of windows API.