#6211 Abort if the carbon loop doesn't become ready within timeout

This commit is contained in:
Andrew Nelless 2017-12-05 15:44:10 +00:00 committed by GitHub
parent eb8416b27f
commit 607201d586
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 2 deletions

View File

@ -47,6 +47,7 @@
#include <IOKit/hidsystem/event_status_driver.h>
#include <AppKit/NSEvent.h>
#include <IOKit/hidsystem/IOHIDLib.h>
#include <cstdlib>
// This isn't in any Apple SDK that I know of as of yet.
enum {
@ -2061,8 +2062,8 @@ OSXScreen::waitForCarbonLoop() const
double timeout = ARCH->time() + kCarbonLoopWaitTimeout;
while (!m_carbonLoopReady->wait()) {
if (ARCH->time() > timeout) {
LOG((CLOG_DEBUG "carbon loop not ready, waiting again"));
timeout = ARCH->time() + kCarbonLoopWaitTimeout;
LOG((CLOG_DEBUG "carbon loop not ready, aborting"));
::abort();
}
}