mirror of
https://github.com/Ryujinx/SDL.git
synced 2025-03-22 16:55:07 +00:00
hidapi/mac: import mainstream commit c1b9d2ad
c1b9d2ad98
Properly handle the close of run loop on macOS
(https://github.com/libusb/hidapi/pull/522)
- as per documentation `kCFRunLoopRunStopped` should be handled once the runloop is closed via `CFRunLoopStop`;
- if it is not handled - a race condition/crash may happen on the latest macOS when a device gets disconnected while being open;
(cherry picked from commit 62d1a2c836c6176a6c76d54229eafa7d011bb9fb)
This commit is contained in:
parent
a688ecd6fa
commit
5f344c17c2
|
@ -772,7 +772,7 @@ static void *read_thread(void *param)
|
|||
while (!dev->shutdown_thread && !dev->disconnected) {
|
||||
code = CFRunLoopRunInMode(dev->run_loop_mode, 1000/*sec*/, FALSE);
|
||||
/* Return if the device has been disconnected */
|
||||
if (code == kCFRunLoopRunFinished) {
|
||||
if (code == kCFRunLoopRunFinished || code == kCFRunLoopRunStopped) {
|
||||
dev->disconnected = 1;
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue