summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
f987371)
Otherwise, it'll screw up completely when we add vlc_cond_timedwait
# ifdef DEBUG
/* In debug mode, timeout */
# ifdef DEBUG
/* In debug mode, timeout */
- gettimeofday( &now, NULL );
- timeout.tv_sec = now.tv_sec + THREAD_COND_TIMEOUT;
- timeout.tv_nsec = now.tv_usec * 1000;
+ clock_gettime( CLOCK_MONOTONIC, &now );
+ timeout.tv_sec += THREAD_COND_TIMEOUT;
i_result = pthread_cond_timedwait( &p_condvar->cond, &p_mutex->mutex,
&timeout );
i_result = pthread_cond_timedwait( &p_condvar->cond, &p_mutex->mutex,
&timeout );
return 0;
#elif defined( PTHREAD_COND_T_IN_PTHREAD_H )
return 0;
#elif defined( PTHREAD_COND_T_IN_PTHREAD_H )
- return pthread_cond_init( &p_condvar->cond, NULL );
+ pthread_condattr_t attr;
+ int ret;
+
+ ret = pthread_condattr_init (&attr);
+ if (ret)
+ return ret;
+
+ /* This must be the same clock as the one in mtime.c */
+ pthread_condattr_setclock (&attr, CLOCK_MONOTONIC);
+
+ ret = pthread_cond_init (&p_condvar->cond, &attr);
+ pthread_condattr_destroy (&attr);
+ return ret;
#elif defined( HAVE_CTHREADS_H )
/* condition_init() */
#elif defined( HAVE_CTHREADS_H )
/* condition_init() */