diff options
author | Sean Stout <sstout@google.com> | 2021-04-08 13:39:59 -0700 |
---|---|---|
committer | Sean Stout <sstout@google.com> | 2021-04-08 20:50:29 +0000 |
commit | 03c10c71a68c394a51f89e3f2427cfba1f77784d (patch) | |
tree | ae41a686cc9c29deba69ab2b195ce661e4268edf /rs/java/android/renderscript/ProgramFragmentFixedFunction.java | |
parent | f906029106c2fa26d47a4f23a61cd0f4035280b2 (diff) |
Fix race condition triggered by quick stop/start of Dream
If a Dream was running, then stopped and restarted in quick succession
it was possible for it to fail to restart. It would do this because
before starting a dream, there is a check to ensure that the requested
dream is not already running.
All dreams are started and stopped on a handler thread, because of this
it is possible for the dream to still be running when #stopDream is
called followed immediately by #startDream.
This CL changes the check at the beginning of #startDreamLocked to
ensure that the current dream is not in the process of waking before
returning early which prevents this error from happening.
Bug: 181523689
Test: adb shell input keyevent KEYCODE_WAKEUP && \
sleep .02 && \
adb shell input keyevent KEYCODE_SLEEP
Change-Id: I0ba6f630f114df18c49e65ac1a72c8040db64817
Diffstat (limited to 'rs/java/android/renderscript/ProgramFragmentFixedFunction.java')
0 files changed, 0 insertions, 0 deletions