diff options
Diffstat (limited to 'upstream/archlinux/man3p/sem_post.3p')
-rw-r--r-- | upstream/archlinux/man3p/sem_post.3p | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/upstream/archlinux/man3p/sem_post.3p b/upstream/archlinux/man3p/sem_post.3p new file mode 100644 index 00000000..e9bd3fa5 --- /dev/null +++ b/upstream/archlinux/man3p/sem_post.3p @@ -0,0 +1,106 @@ +'\" et +.TH SEM_POST "3P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual" +.\" +.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 +\(em unlock a semaphore +.SH SYNOPSIS +.LP +.nf +#include <semaphore.h> +.P +int sem_post(sem_t *\fIsem\fP); +.fi +.SH DESCRIPTION +The +\fIsem_post\fR() +function shall unlock the semaphore referenced by +.IR sem +by performing a semaphore unlock operation on that semaphore. +.P +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. +.P +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\fR(). +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. +.P +If the Process Sporadic Server option is supported, and the scheduling +policy is SCHED_SPORADIC, the semantics are as per SCHED_FIFO above. +.P +The +\fIsem_post\fR() +function shall be async-signal-safe and may be invoked from a +signal-catching function. +.SH "RETURN VALUE" +If successful, the +\fIsem_post\fR() +function shall return zero; otherwise, the function shall return \-1 +and set +.IR errno +to indicate the error. +.SH ERRORS +The +\fIsem_post\fR() +function may fail if: +.TP +.BR EINVAL +The +.IR sem +argument does not refer to a valid semaphore. +.LP +.IR "The following sections are informative." +.SH EXAMPLES +See +.IR "\fIsem_timedwait\fR\^(\|)". +.SH "APPLICATION USAGE" +None. +.SH RATIONALE +None. +.SH "FUTURE DIRECTIONS" +None. +.SH "SEE ALSO" +.IR "\fIsemctl\fR\^(\|)", +.IR "\fIsemget\fR\^(\|)", +.IR "\fIsemop\fR\^(\|)", +.IR "\fIsem_timedwait\fR\^(\|)", +.IR "\fIsem_trywait\fR\^(\|)" +.P +The Base Definitions volume of POSIX.1\(hy2017, +.IR "Section 4.12" ", " "Memory Synchronization", +.IR "\fB<semaphore.h>\fP" +.\" +.SH COPYRIGHT +Portions of this text are reprinted and reproduced in electronic form +from IEEE Std 1003.1-2017, Standard for Information Technology +-- Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 7, 2018 Edition, +Copyright (C) 2018 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 . +.PP +Any typographical or formatting errors that appear +in this page are most likely +to have been introduced during the conversion of the source files to +man page format. To report such errors, see +https://www.kernel.org/doc/man-pages/reporting_bugs.html . |