mirror of
https://github.com/libretro/RetroArch
synced 2025-04-17 02:43:03 +00:00
rthreads.c - Take out code that is prone to deadlocks
This commit is contained in:
parent
0b926373ce
commit
55c898b880
@ -313,12 +313,7 @@ void scond_wait(scond_t *cond, slock_t *lock)
|
||||
#ifdef _WIN32
|
||||
WaitForSingleObject(cond->event, 0);
|
||||
|
||||
#if MSC_VER <= 1310
|
||||
slock_unlock(lock);
|
||||
WaitForSingleObject(cond->event, INFINITE);
|
||||
#else
|
||||
SignalObjectAndWait(lock->lock, cond->event, INFINITE, FALSE);
|
||||
#endif
|
||||
slock_lock(lock);
|
||||
#else
|
||||
pthread_cond_wait(&cond->cond, &lock->lock);
|
||||
@ -378,13 +373,8 @@ bool scond_wait_timeout(scond_t *cond, slock_t *lock, int64_t timeout_us)
|
||||
DWORD ret;
|
||||
|
||||
WaitForSingleObject(cond->event, 0);
|
||||
#if MSC_VER <= 1310
|
||||
slock_unlock(lock);
|
||||
ret = WaitForSingleObject(cond->event, (DWORD)(timeout_us) / 1000);
|
||||
#else
|
||||
ret = SignalObjectAndWait(lock->lock, cond->event,
|
||||
(DWORD)(timeout_us) / 1000, FALSE);
|
||||
#endif
|
||||
|
||||
slock_lock(lock);
|
||||
return ret == WAIT_OBJECT_0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user