vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Sun May 10 17:30:27 2015 +0300| [1571438ccb5fcf6410c75cfc8f6e8e82e4b8fc41] | committer: Rémi Denis-Courmont
Android: fix potentially dangling condition variable pointer This partially reverts commit e9ffcf989a0f342be074eb6835f6f3db69a51a90. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=1571438ccb5fcf6410c75cfc8f6e8e82e4b8fc41 --- src/android/thread.c | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/src/android/thread.c b/src/android/thread.c index d365d10..d39b29c 100644 --- a/src/android/thread.c +++ b/src/android/thread.c @@ -255,13 +255,9 @@ void vlc_cond_wait (vlc_cond_t *condvar, vlc_mutex_t *p_mutex) if (th != NULL) { - if (vlc_mutex_trylock (&th->lock) == 0) - { - thread->cond = NULL; - vlc_mutex_unlock (&th->lock); - } - /* Else: This thread was cancelled and is cancellable. - vlc_testcancel() will take of it right there: */ + vlc_mutex_lock(&th->lock); + th->cond = NULL; + vlc_mutex_unlock(&th->lock); vlc_testcancel(); } } @@ -316,13 +312,9 @@ int vlc_cond_timedwait (vlc_cond_t *condvar, vlc_mutex_t *p_mutex, if (th != NULL) { - if (vlc_mutex_trylock (&th->lock) == 0) - { - thread->cond = NULL; - vlc_mutex_unlock (&th->lock); - } - /* Else: This thread was cancelled and is cancellable. - vlc_testcancel() will take of it right there: */ + vlc_mutex_lock(&th->lock); + th->cond = NULL; + vlc_mutex_unlock(&th->lock); vlc_testcancel(); } return val; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
