blob: 0d9b38e4ce5fd938bc1ea0b0e862e22231bee922 [file] [log] [blame]
From 01f03a91c9bd63910995aeef412beb3ca6dc9a67 Mon Sep 17 00:00:00 2001
From: NIIBE Yutaka <gniibe@fsij.org>
Date: Tue, 7 May 2024 13:45:47 +0900
Subject: [PATCH] Return a run-time error if npth_rwlock_timedrdlock is not
supported.
* src/npth.c (npth_rwlock_timedrdlock): Return ENOSYS if not
supported.
(npth_rwlock_timedwrlock): Use HAVE_PTHREAD_RWLOCK_TRYWRLOCK.
--
GnuPG-bug-id: 7109
Fixed-commit: 363c370bd35dd0bb4e5636b2d4f06ea88c658794
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
Upstream: https://git.gnupg.org/cgi-bin/gitweb.cgi?p=npth.git;a=commit;h=01f03a91c9bd63910995aeef412beb3ca6dc9a67
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
src/npth.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/npth.c b/src/npth.c
index c0ff8da..f02540c 100644
--- a/src/npth.c
+++ b/src/npth.c
@@ -488,9 +488,11 @@ npth_rwlock_timedrdlock (npth_rwlock_t *rwlock, const struct timespec *abstime)
ENTER();
#if HAVE_PTHREAD_RWLOCK_TIMEDRDLOCK
err = pthread_rwlock_timedrdlock (rwlock, abstime);
-#else
+#elif HAVE_PTHREAD_RWLOCK_TRYRDLOCK
err = busy_wait_for ((trylock_func_t) pthread_rwlock_tryrdlock, rwlock,
abstime);
+#else
+ err = ENOSYS;
#endif
LEAVE();
return err;
@@ -533,7 +535,7 @@ npth_rwlock_timedwrlock (npth_rwlock_t *rwlock, const struct timespec *abstime)
ENTER();
#if HAVE_PTHREAD_RWLOCK_TIMEDWRLOCK
err = pthread_rwlock_timedwrlock (rwlock, abstime);
-#elif HAVE_PTHREAD_RWLOCK_TRYRDLOCK
+#elif HAVE_PTHREAD_RWLOCK_TRYWRLOCK
err = busy_wait_for ((trylock_func_t) pthread_rwlock_trywrlock, rwlock,
abstime);
#else
--
2.30.2