vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Sat Oct 20 22:36:49 2018 +0300| [ef86d2329a408e8895a9722ca667e590106fdda0] | committer: Rémi Denis-Courmont
darwin: use the new mutex checks > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ef86d2329a408e8895a9722ca667e590106fdda0 --- src/darwin/thread.c | 21 +++++---------------- src/libvlc.h | 4 +--- 2 files changed, 6 insertions(+), 19 deletions(-) diff --git a/src/darwin/thread.c b/src/darwin/thread.c index a96334cd4e..9dcffad28d 100644 --- a/src/darwin/thread.c +++ b/src/darwin/thread.c @@ -151,33 +151,21 @@ void vlc_mutex_destroy (vlc_mutex_t *p_mutex) VLC_THREAD_ASSERT ("destroying mutex"); } -#ifndef NDEBUG -# ifdef HAVE_VALGRIND_VALGRIND_H -# include <valgrind/valgrind.h> -# else -# define RUNNING_ON_VALGRIND (0) -# endif - -void vlc_assert_locked (vlc_mutex_t *p_mutex) -{ - if (RUNNING_ON_VALGRIND > 0) - return; - 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; } @@ -185,6 +173,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_cond_init (vlc_cond_t *p_condvar) diff --git a/src/libvlc.h b/src/libvlc.h index cbe598ad6f..e36c135304 100644 --- a/src/libvlc.h +++ b/src/libvlc.h @@ -83,10 +83,8 @@ bool vlc_mutex_marked(const vlc_mutex_t *); */ #define vlc_mutex_assert(m) assert(vlc_mutex_marked(m)) -#if (defined (LIBVLC_USE_PTHREAD) || defined (__ANDROID__)) +#if !(defined (_WIN32) || defined (__OS2__)) #define vlc_assert_locked(m) vlc_mutex_assert(m) -#elif defined (__APPLE__) && !defined (NDEBUG) -void vlc_assert_locked (vlc_mutex_t *); #else # define vlc_assert_locked( m ) (void)m #endif _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
