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 commit9ed5b263
. Signed-off-by: Damien Leone <dleone@nvidia.com> Reviewed-by: Keith Packard <keithp@keithp.com> (cherry picked from commitf33cb42643
)
This commit is contained in:
parent
180ab06d45
commit
8c2f0f8cbd
|
@ -190,10 +190,11 @@ WaitForSomething(Bool are_ready)
|
||||||
/* deal with any blocked jobs */
|
/* deal with any blocked jobs */
|
||||||
if (workQueue) {
|
if (workQueue) {
|
||||||
ProcessWorkQueue();
|
ProcessWorkQueue();
|
||||||
are_ready = clients_are_ready();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
timeout = check_timers();
|
timeout = check_timers();
|
||||||
|
are_ready = clients_are_ready();
|
||||||
|
|
||||||
if (are_ready)
|
if (are_ready)
|
||||||
timeout = 0;
|
timeout = 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue