vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Sat Oct 20 22:36:49 2018 +0300| [9575e9476cdc17e60fcbf40af1b90c3929c63e50] | committer: Rémi Denis-Courmont
android: use the new mutex checks > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=9575e9476cdc17e60fcbf40af1b90c3929c63e50 --- src/android/thread.c | 13 +++++-------- src/libvlc.h | 4 ++-- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/android/thread.c b/src/android/thread.c index ce70b478b7..0cce89e749 100644 --- a/src/android/thread.c +++ b/src/android/thread.c @@ -113,25 +113,21 @@ void vlc_mutex_destroy (vlc_mutex_t *p_mutex) VLC_THREAD_ASSERT ("destroying mutex"); } -#ifndef NDEBUG -void vlc_assert_locked (vlc_mutex_t *p_mutex) -{ - assert (pthread_mutex_lock (p_mutex) == EDEADLK); -} -#endif - void vlc_mutex_lock (vlc_mutex_t *p_mutex) { int val = pthread_mutex_lock( p_mutex ); VLC_THREAD_ASSERT ("locking mutex"); + vlc_mutex_mark(p_mutex); } int vlc_mutex_trylock (vlc_mutex_t *p_mutex) { int val = pthread_mutex_trylock( p_mutex ); - if (val != EBUSY) + if (val != EBUSY) { VLC_THREAD_ASSERT ("locking mutex"); + vlc_mutex_mark(p_mutex); + } return val; } @@ -139,6 +135,7 @@ void vlc_mutex_unlock (vlc_mutex_t *p_mutex) { int val = pthread_mutex_unlock( p_mutex ); VLC_THREAD_ASSERT ("unlocking mutex"); + vlc_mutex_unmark(p_mutex); } void vlc_once(vlc_once_t *once, void (*cb)(void)) diff --git a/src/libvlc.h b/src/libvlc.h index dff18d6285..cbe598ad6f 100644 --- a/src/libvlc.h +++ b/src/libvlc.h @@ -83,9 +83,9 @@ bool vlc_mutex_marked(const vlc_mutex_t *); */ #define vlc_mutex_assert(m) assert(vlc_mutex_marked(m)) -#if (defined (LIBVLC_USE_PTHREAD)) +#if (defined (LIBVLC_USE_PTHREAD) || defined (__ANDROID__)) #define vlc_assert_locked(m) vlc_mutex_assert(m) -#elif (defined(__ANDROID__) || defined (__APPLE__)) && !defined (NDEBUG) +#elif defined (__APPLE__) && !defined (NDEBUG) void vlc_assert_locked (vlc_mutex_t *); #else # define vlc_assert_locked( m ) (void)m _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
