diff options
Diffstat (limited to 'c/src/exec/posix/src/semtimedwait.c')
-rw-r--r-- | c/src/exec/posix/src/semtimedwait.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/c/src/exec/posix/src/semtimedwait.c b/c/src/exec/posix/src/semtimedwait.c new file mode 100644 index 0000000000..e237749ff7 --- /dev/null +++ b/c/src/exec/posix/src/semtimedwait.c @@ -0,0 +1,36 @@ +/* + * $Id$ + */ + +#include <stdarg.h> + +#include <errno.h> +#include <fcntl.h> +#include <pthread.h> +#include <semaphore.h> +#include <limits.h> + +#include <rtems/system.h> +#include <rtems/score/object.h> +#include <rtems/posix/semaphore.h> +#include <rtems/posix/time.h> +#include <rtems/posix/seterr.h> + +/*PAGE + * + * 11.2.6 Lock a Semaphore, P1003.1b-1993, p.226 + * + * NOTE: P1003.4b/D8 adds sem_timedwait(), p. 27 + */ + +int sem_timedwait( + sem_t *sem, + const struct timespec *timeout +) +{ + return _POSIX_Semaphore_Wait_support( + sem, + TRUE, + _POSIX_Timespec_to_interval( timeout ) + ); +} |