Commit 6479d4fb authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Force fallback to realtime clock when clock selection is not supported...

and restore the old broken behavior. It's high time people update to NPTL...
parent b28532eb
......@@ -67,6 +67,19 @@ struct timespec
int nanosleep(struct timespec *, struct timespec *);
#endif
#ifdef HAVE_CLOCK_NANOSLEEP
# if !defined _POSIX_CLOCK_SELECTION || (_POSIX_CLOCK_SELECTION - 0 <= 0)
/*
* We cannot use the monotonic clock is clock selection is not available,
* as it would screw vlc_cond_timedwait() completely. Instead, we have to
* stick to the realtime clock. Nevermind it screws everything when ntpdate
* warps the wall clock.
*/
# undef CLOCK_MONOTONIC
# define CLOCK_MONOTONIC CLOCK_REALTIME
# endif
#endif
/**
* Return a date in a readable format
*
......@@ -127,11 +140,6 @@ static inline unsigned mprec( void )
static unsigned prec = 0;
static volatile mtime_t cached_time = 0;
#if defined( HAVE_CLOCK_NANOSLEEP )
# if (_POSIX_MONOTONIC_CLOCK - 0 < 0)
# define CLOCK_MONOTONIC CLOCK_REALTIME
# endif
#endif
/**
* Return high precision date
......
......@@ -481,8 +481,8 @@ int __vlc_cond_init( vlc_object_t *p_this, vlc_cond_t *p_condvar )
if (ret)
return ret;
# if defined (_POSIX_MONOTONIC_CLOCK) && (_POSIX_MONOTONIC_CLOCK - 0 >= 0)
/* This must be the same clock as the one in mtime.c */
# if defined (_POSIX_CLOCK_SELECTION) && (_POSIX_CLOCK_SELECTION - 0 > 0)
/* NOTE: This must be the same clock as the one in mtime.c */
pthread_condattr_setclock (&attr, CLOCK_MONOTONIC);
# endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment