summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stone <daniel@fooishbar.org>2006-10-26 01:10:08 +0300
committerDaniel Stone <daniels@endtroducing.fooishbar.org>2006-11-08 18:35:47 +0200
commit273eb5297498a6e04e5ffe29db27e287a8f8595e (patch)
treee34702472744778e9c62c213bb15ff18dd51d59a
parentb0f0f4bcb6fb0b5e6e32cfaec862c843eafeb461 (diff)
GetTimeInMillis: simplify monotonic test
We don't actually need to get the CPU clock ID, which means we don't need the monotonic_usable test. Since there's now only one branch, the compiler will treat that as likely, so we don't need xproto 7.0.9 anymore. The fallthrough to gettimeofday() is preserved. (cherry picked from 004d00e6689f452fc9fdf91f5ffc6d6aed697d54 commit)
-rw-r--r--configure.ac2
-rw-r--r--os/utils.c19
2 files changed, 4 insertions, 17 deletions
diff --git a/configure.ac b/configure.ac
index 25570f2c0..25a35b7e1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -515,7 +515,7 @@ XEXT_LIB='$(top_builddir)/Xext/libXext.la'
XEXTXORG_LIB='$(top_builddir)/Xext/libXextbuiltin.la'
dnl Core modules for most extensions, et al.
-REQUIRED_MODULES="randrproto renderproto [fixesproto >= 4.0] damageproto xcmiscproto xextproto [xproto >= 7.0.9] xtrans xf86miscproto xf86vidmodeproto xf86bigfontproto [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto inputproto xf86dgaproto [kbproto >= 1.0.3]"
+REQUIRED_MODULES="randrproto renderproto [fixesproto >= 4.0] damageproto xcmiscproto xextproto xproto xtrans xf86miscproto xf86vidmodeproto xf86bigfontproto [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto inputproto xf86dgaproto [kbproto >= 1.0.3]"
REQUIRED_LIBS="xfont xau fontenc"
AM_CONDITIONAL(XV, [test "x$XV" = xyes])
diff --git a/os/utils.c b/os/utils.c
index 379291c9d..7d258a444 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -268,8 +268,6 @@ int auditTrailLevel = 1;
_X_EXPORT Bool Must_have_memory = FALSE;
-static int monotonic_usable = -1;
-
#ifdef AIXV3
int SyncOn = 0;
extern int SelectWaitTime;
@@ -550,22 +548,11 @@ _X_EXPORT CARD32
GetTimeInMillis(void)
{
struct timeval tv;
+
#ifdef MONOTONIC_CLOCK
struct timespec tp;
- int spare = 0;
-
- if (_X_UNLIKELY(monotonic_usable == -1)) {
- if (clock_gettime(0, &tp) == 0 &&
- clock_getcpuclockid(0, &spare) == 0)
- monotonic_usable = 1;
- else
- monotonic_usable = 0;
- }
-
- if (_X_LIKELY(monotonic_usable == 1)) {
- if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0)
- return (tp.tv_sec * 1000) + (tp.tv_nsec / 1000000);
- }
+ if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0)
+ return (tp.tv_sec * 1000) + (tp.tv_nsec / 1000000);
#endif
X_GETTIMEOFDAY(&tv);