RTEMS: Make `<semaphore.h>` self-contained

Message ID 20260703001953.2321062-1-sebastian.huber@embedded-brains.de
State New
Headers
Series RTEMS: Make `<semaphore.h>` self-contained |

Commit Message

Sebastian Huber July 3, 2026, 12:19 a.m. UTC
  Define `clockid_t` if necessary to allow using sem_clockwait() simply by
including `<semaphore.h>`.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
---
 newlib/libc/sys/rtems/include/semaphore.h | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
  

Patch

diff --git a/newlib/libc/sys/rtems/include/semaphore.h b/newlib/libc/sys/rtems/include/semaphore.h
index 6d756d522..d81a10c21 100644
--- a/newlib/libc/sys/rtems/include/semaphore.h
+++ b/newlib/libc/sys/rtems/include/semaphore.h
@@ -57,7 +57,13 @@  int	 sem_unlink(const char *);
 int	 sem_wait(sem_t *);
 
 #if (__GNU_VISIBLE || __POSIX_VISIBLE >= 202405)
-int sem_clockwait(sem_t * __restrict, __clockid_t,
+#if !defined(__clockid_t_defined) && !defined(_CLOCKID_T_DECLARED)
+typedef	__clockid_t	clockid_t;
+#define	__clockid_t_defined
+#define	_CLOCKID_T_DECLARED
+#endif
+
+int sem_clockwait(sem_t * __restrict, clockid_t,
        const struct timespec * __restrict);
 #endif /* __GNU_VISIBLE || __POSIX_VISIBLE >= 202405 */