ScreenSaver: Timeout if window won't lock. Fixes #4260.

If we fail to lock the window in the kInitialTickRate time, quit the thread.
We were deadlocking causing #4260 because you could open several
threads by moving through the screen saver list quickly all trying to lock
the same window at the same time, classic deadlock.
This commit is contained in:
John Scipione
2013-09-02 19:44:45 -04:00
parent fa3651781a
commit d9acbaf0dc
3 changed files with 18 additions and 16 deletions
@@ -41,7 +41,7 @@ private:
void _LoadAddOn();
void _CleanUp();
static status_t _ThreadFunc(void* data);
void _Run();
status_t _Run();
BScreenSaver* fSaver;
BWindow* fWindow;