about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorMike Crowe <mac@mcrowe.com>2019-06-24 20:18:00 +0000
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2019-07-12 13:36:25 +0000
commit1ff1373b3302e9e095dc4fd4d371451c00190780 (patch)
treea2674e19f74165d5825c272dc7f4838c86d65ef8 /sysdeps
parent65dd7e9ce36ca8485a68ed41ac731188b6473dd2 (diff)
downloadglibc-1ff1373b3302e9e095dc4fd4d371451c00190780.tar.gz
glibc-1ff1373b3302e9e095dc4fd4d371451c00190780.tar.xz
glibc-1ff1373b3302e9e095dc4fd4d371451c00190780.zip
nptl: Remove futex_supports_exact_relative_timeouts
The only implementation of futex_supports_exact_relative_timeouts always
returns true. Let's remove it and all its callers.

	* nptl/pthread_cond_wait.c: (__pthread_cond_clockwait): Remove code
	that is only useful if futex_supports_exact_relative_timeouts ()
	returns false.
	* nptl/pthread_condattr_setclock.c: (pthread_condattr_setclock):
	Likewise.
	* sysdeps/nptl/futex-internal.h: Remove comment about relative
	timeouts potentially being imprecise since it's no longer true.
	Remove declaration of futex_supports_exact_relative_timeouts.
	* sysdeps/unix/sysv/linux/futex-internal.h: Remove implementation
	of futex_supports_exact_relative_timeouts.

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/nptl/futex-internal.h9
-rw-r--r--sysdeps/unix/sysv/linux/futex-internal.h8
2 files changed, 1 insertions, 16 deletions
diff --git a/sysdeps/nptl/futex-internal.h b/sysdeps/nptl/futex-internal.h
index f29d6d48b2..dff2317b07 100644
--- a/sysdeps/nptl/futex-internal.h
+++ b/sysdeps/nptl/futex-internal.h
@@ -51,8 +51,7 @@
    Both absolute and relative timeouts can be used.  An absolute timeout
    expires when the given specific point in time on the specified clock
    passes, or when it already has passed.  A relative timeout expires when
-   the given duration of time on the CLOCK_MONOTONIC clock passes.  Relative
-   timeouts may be imprecise (see futex_supports_exact_relative_timeouts).
+   the given duration of time on the CLOCK_MONOTONIC clock passes.
 
    Due to POSIX requirements on when synchronization data structures such
    as mutexes or semaphores can be destroyed and due to the futex design
@@ -81,12 +80,6 @@
 static __always_inline int
 futex_supports_pshared (int pshared);
 
-/* Returns true if relative timeouts are robust to concurrent changes to the
-   system clock.  If this returns false, relative timeouts can still be used
-   but might be effectively longer or shorter than requested.  */
-static __always_inline bool
-futex_supports_exact_relative_timeouts (void);
-
 /* Atomically wrt other futex operations on the same futex, this blocks iff
    the value *FUTEX_WORD matches the expected value.  This is
    semantically equivalent to:
diff --git a/sysdeps/unix/sysv/linux/futex-internal.h b/sysdeps/unix/sysv/linux/futex-internal.h
index 299d2489f9..980b7987c3 100644
--- a/sysdeps/unix/sysv/linux/futex-internal.h
+++ b/sysdeps/unix/sysv/linux/futex-internal.h
@@ -46,14 +46,6 @@ futex_supports_pshared (int pshared)
     return EINVAL;
 }
 
-/* The Linux kernel supports relative timeouts measured against the
-   CLOCK_MONOTONIC clock.  */
-static __always_inline bool
-futex_supports_exact_relative_timeouts (void)
-{
-  return true;
-}
-
 /* See sysdeps/nptl/futex-internal.h for details.  */
 static __always_inline int
 futex_wait (unsigned int *futex_word, unsigned int expected, int private)