rthreads.c - Take out code that is prone to deadlocks

This commit is contained in:
twinaphex 2015-02-09 03:55:29 +01:00
parent 0b926373ce
commit 55c898b880

View File

@ -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;