diff options
Diffstat (limited to 'man3p/pthread_rwlock_wrlock.3p')
-rw-r--r-- | man3p/pthread_rwlock_wrlock.3p | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/man3p/pthread_rwlock_wrlock.3p b/man3p/pthread_rwlock_wrlock.3p new file mode 100644 index 000000000..cab2a76ae --- /dev/null +++ b/man3p/pthread_rwlock_wrlock.3p @@ -0,0 +1,108 @@ +.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved +.TH "PTHREAD_RWLOCK_TRYWRLOCK" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual" +.\" pthread_rwlock_trywrlock +.SH NAME +pthread_rwlock_trywrlock, pthread_rwlock_wrlock \- lock a read-write +lock object for writing +.SH SYNOPSIS +.LP +\fB#include <pthread.h> +.br +.sp +int pthread_rwlock_trywrlock(pthread_rwlock_t\fP \fI*rwlock\fP\fB); +.br +int pthread_rwlock_wrlock(pthread_rwlock_t\fP \fI*rwlock\fP\fB); \fP +\fB +.br +\fP +.SH DESCRIPTION +.LP +The \fIpthread_rwlock_trywrlock\fP() function shall apply a write +lock like the \fIpthread_rwlock_wrlock\fP() function, with +the exception that the function shall fail if any thread currently +holds \fIrwlock\fP (for reading or writing). +.LP +The \fIpthread_rwlock_wrlock\fP() function shall apply a write lock +to the read-write lock referenced by \fIrwlock\fP. The +calling thread acquires the write lock if no other thread (reader +or writer) holds the read-write lock \fIrwlock\fP. Otherwise, +the thread shall block until it can acquire the lock. The calling +thread may deadlock if at the time the call is made it holds the +read-write lock (whether a read or write lock). +.LP +Implementations may favor writers over readers to avoid writer starvation. +.LP +Results are undefined if any of these functions are called with an +uninitialized read-write lock. +.LP +If a signal is delivered to a thread waiting for a read-write lock +for writing, upon return from the signal handler the thread +resumes waiting for the read-write lock for writing as if it was not +interrupted. +.SH RETURN VALUE +.LP +The \fIpthread_rwlock_trywrlock\fP() function shall return zero if +the lock for writing on the read-write lock object +referenced by \fIrwlock\fP is acquired. Otherwise, an error number +shall be returned to indicate the error. +.LP +If successful, the \fIpthread_rwlock_wrlock\fP() function shall return +zero; otherwise, an error number shall be returned to +indicate the error. +.SH ERRORS +.LP +The \fIpthread_rwlock_trywrlock\fP() function shall fail if: +.TP 7 +.B EBUSY +The read-write lock could not be acquired for writing because it was +already locked for reading or writing. +.sp +.LP +The \fIpthread_rwlock_trywrlock\fP() and \fIpthread_rwlock_wrlock\fP() +functions may fail if: +.TP 7 +.B EINVAL +The value specified by \fIrwlock\fP does not refer to an initialized +read-write lock object. +.sp +.LP +The \fIpthread_rwlock_wrlock\fP() function may fail if: +.TP 7 +.B EDEADLK +The current thread already owns the read-write lock for writing or +reading. +.sp +.LP +These functions shall not return an error code of [EINTR]. +.LP +\fIThe following sections are informative.\fP +.SH EXAMPLES +.LP +None. +.SH APPLICATION USAGE +.LP +Applications using these functions may be subject to priority inversion, +as discussed in the Base Definitions volume of +IEEE\ Std\ 1003.1-2001, Section 3.285, Priority Inversion. +.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_unlock\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 . |