diff options
Diffstat (limited to 'man-pages-posix-2003/man3p/sem_post.3p')
-rw-r--r-- | man-pages-posix-2003/man3p/sem_post.3p | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/man-pages-posix-2003/man3p/sem_post.3p b/man-pages-posix-2003/man3p/sem_post.3p new file mode 100644 index 0000000..9267e3a --- /dev/null +++ b/man-pages-posix-2003/man3p/sem_post.3p @@ -0,0 +1,93 @@ +.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved +.TH "SEM_POST" 3P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual" +.\" sem_post +.SH PROLOG +This manual page is part of the POSIX Programmer's Manual. +The Linux implementation of this interface may differ (consult +the corresponding Linux manual page for details of Linux behavior), +or the interface may not be implemented on Linux. +.SH NAME +sem_post \- unlock a semaphore (\fBREALTIME\fP) +.SH SYNOPSIS +.LP +\fB#include <semaphore.h> +.br +.sp +int sem_post(sem_t *\fP\fIsem\fP\fB); \fP +\fB +.br +\fP +.SH DESCRIPTION +.LP +The \fIsem_post\fP() function shall unlock the semaphore referenced +by \fIsem\fP by performing a semaphore unlock operation on +that semaphore. +.LP +If the semaphore value resulting from this operation is positive, +then no threads were blocked waiting for the semaphore to +become unlocked; the semaphore value is simply incremented. +.LP +If the value of the semaphore resulting from this operation is zero, +then one of the threads blocked waiting for the semaphore +shall be allowed to return successfully from its call to \fIsem_wait\fP(). +\ If the Process +Scheduling option is supported, the thread to be unblocked shall be +chosen in a manner appropriate to the scheduling policies and +parameters in effect for the blocked threads. In the case of the schedulers +SCHED_FIFO and SCHED_RR, the highest priority waiting +thread shall be unblocked, and if there is more than one highest priority +thread blocked waiting for the semaphore, then the +highest priority thread that has been waiting the longest shall be +unblocked. If the Process Scheduling option is not defined, the +choice of a thread to unblock is unspecified. +.LP +If +the Process Sporadic Server option is supported, and the scheduling +policy is SCHED_SPORADIC, the semantics are as per SCHED_FIFO +above. +.LP +The \fIsem_post\fP() function shall be reentrant with respect to signals +and may be invoked from a signal-catching +function. +.SH RETURN VALUE +.LP +If successful, the \fIsem_post\fP() function shall return zero; otherwise, +the function shall return -1 and set \fIerrno\fP to +indicate the error. +.SH ERRORS +.LP +The \fIsem_post\fP() function shall fail if: +.TP 7 +.B EINVAL +The \fIsem\fP argument does not refer to a valid semaphore. +.sp +.LP +\fIThe following sections are informative.\fP +.SH EXAMPLES +.LP +None. +.SH APPLICATION USAGE +.LP +The \fIsem_post\fP() function is part of the Semaphores option and +need not be available on all implementations. +.SH RATIONALE +.LP +None. +.SH FUTURE DIRECTIONS +.LP +None. +.SH SEE ALSO +.LP +\fIsemctl\fP(), \fIsemget\fP(), \fIsemop\fP(), +\fIsem_timedwait\fP(), \fIsem_trywait\fP(), \fIsem_wait\fP(), +the Base Definitions volume of IEEE\ Std\ 1003.1-2001, \fI<semaphore.h>\fP +.SH COPYRIGHT +Portions of this text are reprinted and reproduced in electronic form +from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology +-- Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard +is the referee document. The original Standard can be obtained online at +http://www.opengroup.org/unix/online.html . |