[PATCH xserver] os: Recompute whether any clients are ready after ProcessWorkQueue() (bug 98030)
Keith Packard
keithp at keithp.com
Fri Oct 28 15:04:43 UTC 2016
If a work proc wakes up a sleeping client and it is ready to execute,
we need to re-compute the local 'are_ready' value before deciding
what timeout value to use in WaitForSomething.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98030
Signed-off-by: Keith Packard <keithp at keithp.com>
---
os/WaitFor.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/os/WaitFor.c b/os/WaitFor.c
index 7d5aa32..ff1c85e 100644
--- a/os/WaitFor.c
+++ b/os/WaitFor.c
@@ -204,8 +204,10 @@ WaitForSomething(Bool are_ready)
crashed connections and the screen saver timeout */
while (1) {
/* deal with any blocked jobs */
- if (workQueue)
+ if (workQueue) {
ProcessWorkQueue();
+ are_ready = clients_are_ready();
+ }
if (are_ready)
timeout = 0;
--
2.10.1
More information about the xorg-devel
mailing list