# define LIBVLC_USE_PTHREAD 1
# define _APPLE_C_SOURCE 1 /* Proper pthread semantics on OSX */
+# include <unistd.h> /* _POSIX_SPIN_LOCKS */
# include <pthread.h>
/* Needed for pthread_cond_timedwait */
# include <errno.h>
*/
static inline int vlc_spin_init (vlc_spinlock_t *spin)
{
- return pthread_spin_init (&spin, PTHREAD_PROCESS_PRIVATE);
+ return pthread_spin_init (&spin->spin, PTHREAD_PROCESS_PRIVATE);
}
/**
#else
/* Fallback to plain mutexes if spinlocks are not available */
typedef vlc_mutex_t vlc_spinlock_t;
-# define vlc_spin_init vlc_mutex_init
+
+static inline int vlc_spin_init (vlc_spinlock_t *spin)
+{
+ return vlc_mutex_init (NULL, spin);
+}
+
# define vlc_spin_lock vlc_mutex_lock
# define vlc_spin_unlock vlc_mutex_unlock
# define vlc_spin_destroy vlc_mutex_destroy