os: Recompute whether any clients are ready after check_timers()
If a driver calls AttendClient() from within a timer callback we
need to re-compute the local 'are_ready' to prevent the attended
client from waiting until WaitForSomething() times out.
This is a fix similar to commit 9ed5b263
.
Signed-off-by: Damien Leone <dleone@nvidia.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
92daeb31fa
commit
f33cb42643
|
@ -190,10 +190,11 @@ WaitForSomething(Bool are_ready)
|
|||
/* deal with any blocked jobs */
|
||||
if (workQueue) {
|
||||
ProcessWorkQueue();
|
||||
are_ready = clients_are_ready();
|
||||
}
|
||||
|
||||
timeout = check_timers();
|
||||
are_ready = clients_are_ready();
|
||||
|
||||
if (are_ready)
|
||||
timeout = 0;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user