[PATCH 1/1] libc: Added prototypes for new POSIX APIs
Matt Joyce
mfjoyce2004@gmail.com
Fri Aug 6 20:04:42 GMT 2021
Added function prototypes to newlib/libc/include/pthread.h
for the following Issue 8 Standard APIs:
pthread_cond_clockwait()
pthread_mutex_clocklock()
pthread_rwlock_clockrdlock()
pthread_rwlock_clockwrlock()
---
newlib/libc/include/pthread.h | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/newlib/libc/include/pthread.h b/newlib/libc/include/pthread.h
index c9d24d6e0..37d0f985e 100644
--- a/newlib/libc/include/pthread.h
+++ b/newlib/libc/include/pthread.h
@@ -87,6 +87,12 @@ int pthread_mutex_timedlock (pthread_mutex_t *__mutex,
#endif /* _POSIX_TIMEOUTS */
+#if __GNU_VISIBLE
+/* The Issue 8 standard adds pthread_mutex_clocklock() */
+int pthread_mutex_clocklock(pthread_mutex_t *__restrict, clockid_t,
+ const struct timespec *__restrict);
+#endif /* __GNU_VISIBLE */
+
/* Condition Variable Initialization Attributes, P1003.1c/Draft 10, p. 96 */
int pthread_condattr_init (pthread_condattr_t *__attr);
@@ -126,6 +132,13 @@ int pthread_cond_wait (pthread_cond_t *__cond, pthread_mutex_t *__mutex);
int pthread_cond_timedwait (pthread_cond_t *__cond,
pthread_mutex_t *__mutex,
const struct timespec *__abstime);
+
+#if __GNU_VISIBLE
+/* The Issue 8 standard adds pthread_cond_clockwait() */
+int pthread_cond_clockwait(pthread_cond_t *__restrict,
+ pthread_mutex_t *__restrict, clockid_t,
+ const struct timespec *__restrict);
+#endif /* __GNU_VISIBLE */
#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING)
@@ -423,6 +436,15 @@ int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock);
int pthread_rwlock_timedwrlock (pthread_rwlock_t *__rwlock,
const struct timespec *__abstime);
+#if __GNU_VISIBLE
+/* The Issue 8 standard adds pthread_rwlock_clockrdlock()
+* and pthread_rwlock_clockwrlock()*/
+int pthread_rwlock_clockrdlock(pthread_rwlock_t *__restrict, clockid_t,
+ const struct timespec *__restrict);
+int pthread_rwlock_clockwrlock(pthread_rwlock_t *__restrict, clockid_t,
+ const struct timespec *__restrict);
+#endif /* __GNU_VISIBLE */
+
#endif /* defined(_POSIX_READER_WRITER_LOCKS) */
--
2.31.1
More information about the Newlib
mailing list