aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/cnd_timedwait.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/cnd_timedwait.c')
-rw-r--r--sysdeps/unix/sysv/linux/cnd_timedwait.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/sysdeps/unix/sysv/linux/cnd_timedwait.c b/sysdeps/unix/sysv/linux/cnd_timedwait.c
index 1bd0e70..0415c68 100644
--- a/sysdeps/unix/sysv/linux/cnd_timedwait.c
+++ b/sysdeps/unix/sysv/linux/cnd_timedwait.c
@@ -17,11 +17,12 @@
<https://www.gnu.org/licenses/>. */
#include <time.h>
+#include <shlib-compat.h>
#include "thrd_priv.h"
int
-__cnd_timedwait64 (cnd_t *restrict cond, mtx_t *restrict mutex,
- const struct __timespec64 *restrict time_point)
+___cnd_timedwait64 (cnd_t *restrict cond, mtx_t *restrict mutex,
+ const struct __timespec64 *restrict time_point)
{
int err_code = __pthread_cond_timedwait64 ((pthread_cond_t *) cond,
(pthread_mutex_t *) mutex,
@@ -29,16 +30,22 @@ __cnd_timedwait64 (cnd_t *restrict cond, mtx_t *restrict mutex,
return thrd_err_map (err_code);
}
-#if __TIMESIZE != 64
-libpthread_hidden_def (__cnd_timedwait64)
+#if __TIMESIZE == 64
+strong_alias (___cnd_timedwait64, ___cnd_timedwait)
+#else
+libc_hidden_ver (___cnd_timedwait64, __cnd_timedwait64)
int
-__cnd_timedwait (cnd_t *restrict cond, mtx_t *restrict mutex,
- const struct timespec *restrict time_point)
+___cnd_timedwait (cnd_t *restrict cond, mtx_t *restrict mutex,
+ const struct timespec *restrict time_point)
{
struct __timespec64 ts64 = valid_timespec_to_timespec64 (*time_point);
return __cnd_timedwait64(cond, mutex, &ts64);
}
+#endif /* __TIMESIZE == 64 */
+versioned_symbol (libc, ___cnd_timedwait, cnd_timedwait, GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_28, GLIBC_2_34)
+compat_symbol (libpthread, ___cnd_timedwait, cnd_timedwait, GLIBC_2_28);
#endif
-weak_alias (__cnd_timedwait, cnd_timedwait)