#ifndef _VLC_THREADFUNCS_H_
#define _VLC_THREADFUNCS_H_
+#if defined( WIN32 ) && !defined ETIMEDOUT
+# define ETIMEDOUT 10060 /* This is the value in winsock.h. */
+#endif
+
/*****************************************************************************
* Function definitions
*****************************************************************************/
vlc_mutex_t * p_mutex )
{
#if defined( UNDER_CE )
+ VLC_UNUSED( psz_file); VLC_UNUSED( i_line );
+
EnterCriticalSection( &p_mutex->csection );
#elif defined( WIN32 )
+ VLC_UNUSED( psz_file); VLC_UNUSED( i_line );
+
if( p_mutex->mutex )
WaitForSingleObject( p_mutex->mutex, INFINITE );
else
vlc_mutex_t *p_mutex )
{
#if defined( UNDER_CE )
+ VLC_UNUSED( psz_file); VLC_UNUSED( i_line );
+
LeaveCriticalSection( &p_mutex->csection );
#elif defined( WIN32 )
+ VLC_UNUSED( psz_file); VLC_UNUSED( i_line );
+
if( p_mutex->mutex )
ReleaseMutex( p_mutex->mutex );
else
vlc_cond_t *p_condvar )
{
#if defined( UNDER_CE )
+ VLC_UNUSED( psz_file); VLC_UNUSED( i_line );
+
PulseEvent( p_condvar->event );
#elif defined( WIN32 )
+ VLC_UNUSED( psz_file); VLC_UNUSED( i_line );
+
/* Release one waiting thread if one is available. */
/* For this trick to work properly, the vlc_cond_signal must be surrounded
* by a mutex. This will prevent another thread from stealing the signal */
vlc_mutex_lock( p_mutex );
#elif defined( WIN32 )
+ VLC_UNUSED( psz_file); VLC_UNUSED( i_line );
+
if( !p_condvar->semaphore )
{
/* Increase our wait count */
return ETIMEDOUT; /* this error is perfectly normal */
#elif defined( WIN32 )
+ VLC_UNUSED( psz_file); VLC_UNUSED( i_line );
+
DWORD result;
mtime_t delay_ms = (deadline - mdate())/1000;
{
int val = pthread_spin_lock (&spin->spin);
assert (val == 0);
+ (void)val;
}
/**
{
int val = pthread_spin_unlock (&spin->spin);
assert (val == 0);
+ (void)val;
}
/**
{
int val = pthread_spin_destroy (&spin->spin);
assert (val == 0);
+ (void)val;
}
#elif defined( WIN32 )
static inline void vlc_spin_destroy (vlc_spinlock_t *spin)
{
DeleteCriticalSection(spin);
- return 0;
}