/* GNU Library General Public License for more details. */
#ifndef _SEMAPHORE_H
-#define _SEMAPHORE_H 1
+#define _SEMAPHORE_H 1
#include <features.h>
#include <sys/types.h>
/* Free resources associated with semaphore object SEM. */
extern int sem_destroy (sem_t *__sem) __THROW;
-/* Open a named semaphore NAME with open flaot OFLAG. */
+/* Open a named semaphore NAME with open flags OFLAG. */
extern sem_t *sem_open (__const char *__name, int __oflag, ...) __THROW;
/* Close descriptor for named semaphore SEM. */
/* Remove named semaphore NAME. */
extern int sem_unlink (__const char *__name) __THROW;
-/* Wait for SEM being posted. */
+/* Wait for SEM being posted.
+
+ This function is a cancellation point and therefore not marked with
+ __THROW. */
extern int sem_wait (sem_t *__sem);
#ifdef __USE_XOPEN2K
-/* Similar to `sem_wait' but wait only until ABSTIME. */
+/* Similar to `sem_wait' but wait only until ABSTIME.
+
+ This function is a cancellation point and therefore not marked with
+ __THROW. */
extern int sem_timedwait (sem_t *__restrict __sem,
__const struct timespec *__restrict __abstime);
#endif
extern int sem_getvalue (sem_t *__restrict __sem, int *__restrict __sval)
__THROW;
+
__END_DECLS
-#endif /* semaphore.h */
+#endif /* semaphore.h */
/* GNU Library General Public License for more details. */
#ifndef _SEMAPHORE_H
-#define _SEMAPHORE_H 1
+#define _SEMAPHORE_H 1
#include <features.h>
#include <sys/types.h>
#define SEM_FAILED ((sem_t *) 0)
/* Maximum value the semaphore can have. */
-#define SEM_VALUE_MAX (2147483647)
+#define SEM_VALUE_MAX (2147483647)
__BEGIN_DECLS
/* Free resources associated with semaphore object SEM. */
extern int sem_destroy (sem_t *__sem) __THROW;
-/* Open a named semaphore NAME with open flaot OFLAG. */
+/* Open a named semaphore NAME with open flags OFLAG. */
extern sem_t *sem_open (__const char *__name, int __oflag, ...) __THROW;
/* Close descriptor for named semaphore SEM. */
/* Remove named semaphore NAME. */
extern int sem_unlink (__const char *__name) __THROW;
-/* Wait for SEM being posted. */
+/* Wait for SEM being posted.
+
+ This function is a cancellation point and therefore not marked with
+ __THROW. */
extern int sem_wait (sem_t *__sem);
#ifdef __USE_XOPEN2K
-/* Similar to `sem_wait' but wait only until ABSTIME. */
+/* Similar to `sem_wait' but wait only until ABSTIME.
+
+ This function is a cancellation point and therefore not marked with
+ __THROW. */
extern int sem_timedwait (sem_t *__restrict __sem,
__const struct timespec *__restrict __abstime);
#endif
extern int sem_getvalue (sem_t *__restrict __sem, int *__restrict __sval)
__THROW;
+
__END_DECLS
-#endif /* semaphore.h */
+#endif /* semaphore.h */