a/tracking: Document and fix cond var loop in psvr

This commit is contained in:
Jakob Bornecrantz 2022-05-26 20:52:56 +01:00 committed by Jakob Bornecrantz
parent d2a2005212
commit fc469e7d5f

View file

@ -1823,13 +1823,17 @@ run(TrackerPSVR &t)
os_thread_helper_lock(&t.oth);
while (os_thread_helper_is_running_locked(&t.oth)) {
// No data
if (!t.has_imu || t.frame == NULL) {
os_thread_helper_wait_locked(&t.oth);
}
if (!os_thread_helper_is_running_locked(&t.oth)) {
break;
/*
* Loop back to the top to check if we should stop,
* also handles spurious wakeups by re-checking the
* condition in the if case. Essentially two loops.
*/
continue;
}
// Take a reference on the current frame