Commit e422319d authored by Laurent Aimar's avatar Laurent Aimar

Fixed vlc_cond*wait on win32.

parent e79c499d
...@@ -535,10 +535,11 @@ void vlc_cond_wait (vlc_cond_t *p_condvar, vlc_mutex_t *p_mutex) ...@@ -535,10 +535,11 @@ void vlc_cond_wait (vlc_cond_t *p_condvar, vlc_mutex_t *p_mutex)
LeaveCriticalSection (&p_mutex->mutex); LeaveCriticalSection (&p_mutex->mutex);
result = WaitForSingleObjectEx (*p_condvar, INFINITE, TRUE); result = WaitForSingleObjectEx (*p_condvar, INFINITE, TRUE);
EnterCriticalSection (&p_mutex->mutex); EnterCriticalSection (&p_mutex->mutex);
ResetEvent (*p_condvar);
} }
while (result == WAIT_IO_COMPLETION); while (result == WAIT_IO_COMPLETION);
ResetEvent (*p_condvar);
#endif #endif
} }
...@@ -581,10 +582,11 @@ int vlc_cond_timedwait (vlc_cond_t *p_condvar, vlc_mutex_t *p_mutex, ...@@ -581,10 +582,11 @@ int vlc_cond_timedwait (vlc_cond_t *p_condvar, vlc_mutex_t *p_mutex,
LeaveCriticalSection (&p_mutex->mutex); LeaveCriticalSection (&p_mutex->mutex);
result = WaitForSingleObjectEx (*p_condvar, delay, TRUE); result = WaitForSingleObjectEx (*p_condvar, delay, TRUE);
EnterCriticalSection (&p_mutex->mutex); EnterCriticalSection (&p_mutex->mutex);
ResetEvent (*p_condvar);
} }
while (result == WAIT_IO_COMPLETION); while (result == WAIT_IO_COMPLETION);
ResetEvent (*p_condvar);
return (result == WAIT_OBJECT_0) ? 0 : ETIMEDOUT; return (result == WAIT_OBJECT_0) ? 0 : ETIMEDOUT;
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment