mirror of https://github.com/mkerrisk/man-pages
96 lines
3.4 KiB
Plaintext
96 lines
3.4 KiB
Plaintext
.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
|
|
.TH "PTHREAD_RWLOCK_UNLOCK" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
|
|
.\" pthread_rwlock_unlock
|
|
.SH NAME
|
|
pthread_rwlock_unlock \- unlock a read-write lock object
|
|
.SH SYNOPSIS
|
|
.LP
|
|
\fB#include <pthread.h>
|
|
.br
|
|
.sp
|
|
int pthread_rwlock_unlock(pthread_rwlock_t\fP \fI*rwlock\fP\fB); \fP
|
|
\fB
|
|
.br
|
|
\fP
|
|
.SH DESCRIPTION
|
|
.LP
|
|
The \fIpthread_rwlock_unlock\fP() function shall release a lock held
|
|
on the read-write lock object referenced by \fIrwlock\fP.
|
|
Results are undefined if the read-write lock \fIrwlock\fP is not held
|
|
by the calling thread.
|
|
.LP
|
|
If this function is called to release a read lock from the read-write
|
|
lock object and there are other read locks currently held
|
|
on this read-write lock object, the read-write lock object remains
|
|
in the read locked state. If this function releases the last
|
|
read lock for this read-write lock object, the read-write lock object
|
|
shall be put in the unlocked state with no owners.
|
|
.LP
|
|
If this function is called to release a write lock for this read-write
|
|
lock object, the read-write lock object shall be put in
|
|
the unlocked state.
|
|
.LP
|
|
If there are threads blocked on the lock when it becomes available,
|
|
the scheduling policy shall determine which thread(s) shall
|
|
acquire the lock. \ If the Thread Execution Scheduling option is
|
|
supported, when threads executing with the
|
|
scheduling policies SCHED_FIFO, SCHED_RR, or SCHED_SPORADIC are waiting
|
|
on the lock, they shall acquire the lock in priority order
|
|
when the lock becomes available. For equal priority threads, write
|
|
locks shall take precedence over read locks. If the Thread Execution
|
|
Scheduling option is not supported, it is
|
|
implementation-defined whether write locks take precedence over read
|
|
locks.
|
|
.LP
|
|
Results are undefined if any of these functions are called with an
|
|
uninitialized read-write lock.
|
|
.SH RETURN VALUE
|
|
.LP
|
|
If successful, the \fIpthread_rwlock_unlock\fP() function shall return
|
|
zero; otherwise, an error number shall be returned to
|
|
indicate the error.
|
|
.SH ERRORS
|
|
.LP
|
|
The \fIpthread_rwlock_unlock\fP() function may fail if:
|
|
.TP 7
|
|
.B EINVAL
|
|
The value specified by \fIrwlock\fP does not refer to an initialized
|
|
read-write lock object.
|
|
.TP 7
|
|
.B EPERM
|
|
The current thread does not hold a lock on the read-write lock.
|
|
.sp
|
|
.LP
|
|
The \fIpthread_rwlock_unlock\fP() function shall not return an error
|
|
code of [EINTR].
|
|
.LP
|
|
\fIThe following sections are informative.\fP
|
|
.SH EXAMPLES
|
|
.LP
|
|
None.
|
|
.SH APPLICATION USAGE
|
|
.LP
|
|
None.
|
|
.SH RATIONALE
|
|
.LP
|
|
None.
|
|
.SH FUTURE DIRECTIONS
|
|
.LP
|
|
None.
|
|
.SH SEE ALSO
|
|
.LP
|
|
\fIpthread_rwlock_destroy\fP() , \fIpthread_rwlock_rdlock\fP() , \fIpthread_rwlock_timedrdlock\fP()
|
|
, \fIpthread_rwlock_timedwrlock\fP() , \fIpthread_rwlock_tryrdlock\fP()
|
|
, \fIpthread_rwlock_trywrlock\fP() , \fIpthread_rwlock_wrlock\fP()
|
|
, the Base Definitions volume of IEEE\ Std\ 1003.1-2001, \fI<pthread.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 .
|