pthread_rwlock_unlock(3p) — Linux manual page

PROLOG | NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | EXAMPLES | APPLICATION USAGE | RATIONALE | FUTURE DIRECTIONS | SEE ALSO | COPYRIGHT

PTHREAD...K_UNLOCK(3P)  POSIX Programmer's Manual PTHREAD...K_UNLOCK(3P)

PROLOG         top

       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.

NAME         top

       pthread_rwlock_unlock — unlock a read-write lock object

SYNOPSIS         top

       #include <pthread.h>

       int pthread_rwlock_unlock(pthread_rwlock_t *rwlock);

DESCRIPTION         top

       The pthread_rwlock_unlock() function shall release a lock held on
       the read-write lock object referenced by rwlock.  Results are
       undefined if the read-write lock rwlock is not held by the
       calling thread.

       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.

       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.

       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.

       Results are undefined if this function is called with an
       uninitialized read-write lock.

RETURN VALUE         top

       If successful, the pthread_rwlock_unlock() function shall return
       zero; otherwise, an error number shall be returned to indicate
       the error.

ERRORS         top

       The pthread_rwlock_unlock() function shall not return an error
       code of [EINTR].

       The following sections are informative.

EXAMPLES         top

       None.

APPLICATION USAGE         top

       None.

RATIONALE         top

       If an implementation detects that the value specified by the
       rwlock argument to pthread_rwlock_unlock() does not refer to an
       initialized read-write lock object, it is recommended that the
       function should fail and report an [EINVAL] error.

       If an implementation detects that the value specified by the
       rwlock argument to pthread_rwlock_unlock() refers to a read-write
       lock object for which the current thread does not hold a lock, it
       is recommended that the function should fail and report an
       [EPERM] error.

FUTURE DIRECTIONS         top

       None.

SEE ALSO         top

       pthread_rwlock_destroy(3p), pthread_rwlock_rdlock(3p),
       pthread_rwlock_timedrdlock(3p), pthread_rwlock_timedwrlock(3p),
       pthread_rwlock_trywrlock(3p)

       The Base Definitions volume of POSIX.1‐2017, Section 4.12, Memory
       Synchronization, pthread.h(0p)

COPYRIGHT         top

       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 .

       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 .

IEEE/The Open Group               2017            PTHREAD...K_UNLOCK(3P)

Pages that refer to this page: pthread.h(0p)pthread_rwlock_destroy(3p)pthread_rwlock_rdlock(3p)pthread_rwlock_timedrdlock(3p)pthread_rwlock_timedwrlock(3p)pthread_rwlock_trywrlock(3p)