-
Kai Willadsen authored
Previously we scheduled the result check to the GLib mainloop in an idle handler. This had the downsides that we would spin constantly waiting for results, and while waiting for results we weren't showing as busy. In 68bf29, we changed the result checker to run on a 10 msec timeout, which solved the busy looping, but delayed results slightly and still didn't show our normal busy indicator. This commit switches both these things up so that we now run our results check in the main application scheduler (which runs as a GLib idle handler) and therefore we get correct a busy indicator. Doing this brings back the busy-loop CPU usage issue, so here we also switch up the result retrieval so that we actually block for 1ms when trying to retrieve a result, instead of not waiting at all. This is quite unpleasant, but it's effective.
5f2c23f5