NAME
semaphore.h —
semaphores (REALTIME)
SYNOPSIS
[SEM]
#include <semaphore.h>
DESCRIPTION
The <semaphore.h> header shall define the sem_t type, used in performing semaphore operations. The semaphore may be implemented using a file descriptor, in which case applications are able to open up at least a total of {OPEN_MAX} files and semaphores. The symbol SEM_FAILED shall be defined (see sem_open(3)).
The following shall be declared as functions and may also be defined as macros. Function prototypes shall be provided.
int sem_close(sem_t *); int sem_destroy(sem_t *); int sem_getvalue(sem_t *restrict, int *restrict); int sem_init(sem_t *, int, unsigned); sem_t *sem_open(const char *, int, ...); int sem_post(sem_t *); [TMO] int sem_timedwait(sem_t *restrict, const struct timespec *restrict); int sem_trywait(sem_t *); int sem_unlink(const char *); int sem_wait(sem_t *);
Inclusion of the <semaphore.h> header may make visible symbols defined in the headers <fcntl.h> and <sys/types.h>.
APPLICATION USAGE
None.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
<fcntl.h>, <sys/types.h>, the System Interfaces volume of IEEE Std 1003.1-2001 (“POSIX.1”), sem_destroy(3), sem_getvalue(3), sem_init(3), sem_open(3), sem_post(3), sem_timedwait(3), sem_trywait(3), sem_unlink(3), sem_wait(3)
CHANGE HISTORY
First released in Issue 5. Included for alignment with the POSIX Realtime Extension.
Issue 6
The <semaphore.h> header is marked as part of the Semaphores option.
The Open Group Corrigendum U021/3 is applied, adding a description of SEM_FAILED.
The sem_timedwait(3) function is added for alignment with IEEE Std 1003.1d-1999.
The restrict keyword is added to the prototypes for sem_getvalue(3) and sem_timedwait(3).
End of informative text. footer end