Movatterモバイル変換


[0]ホーム

URL:


man7.org > Linux >man-pages

Linux/UNIX system programming training


pthread_rwlock_destroy(3p) — Linux manual page

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

PTHREAD_..._DESTROY(3P) POSIX Programmer's ManualPTHREAD_..._DESTROY(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_destroy, pthread_rwlock_init — destroy and       initialize a read-write lock object

SYNOPSIS        top

       #include <pthread.h>       int pthread_rwlock_destroy(pthread_rwlock_t *rwlock);       int pthread_rwlock_init(pthread_rwlock_t *restrictrwlock,           const pthread_rwlockattr_t *restrictattr);       pthread_rwlock_trwlock = PTHREAD_RWLOCK_INITIALIZER;

DESCRIPTION        top

       Thepthread_rwlock_destroy() function shall destroy the read-write       lock object referenced byrwlock and release any resources used by       the lock. The effect of subsequent use of the lock is undefined       until the lock is reinitialized by another call topthread_rwlock_init().  An implementation may causepthread_rwlock_destroy() to set the object referenced byrwlock to       an invalid value. Results are undefined ifpthread_rwlock_destroy() is called when any thread holdsrwlock.       Attempting to destroy an uninitialized read-write lock results in       undefined behavior.       Thepthread_rwlock_init() function shall allocate any resources       required to use the read-write lock referenced byrwlock and       initializes the lock to an unlocked state with attributes       referenced byattr.  Ifattr is NULL, the default read-write lock       attributes shall be used; the effect is the same as passing the       address of a default read-write lock attributes object. Once       initialized, the lock can be used any number of times without       being reinitialized. Results are undefined ifpthread_rwlock_init() is called specifying an already initialized       read-write lock. Results are undefined if a read-write lock is       used without first being initialized.       If thepthread_rwlock_init() function fails,rwlock shall not be       initialized and the contents ofrwlock are undefined.       SeeSection 2.9.9,Synchronization Object Copies and AlternativeMappings for further requirements.       In cases where default read-write lock attributes are appropriate,       the macro PTHREAD_RWLOCK_INITIALIZER can be used to initialize       read-write locks. The effect shall be equivalent to dynamic       initialization by a call topthread_rwlock_init() with theattr       parameter specified as NULL, except that no error checks are       performed.       The behavior is undefined if the value specified by theattr       argument topthread_rwlock_init() does not refer to an initialized       read-write lock attributes object.

RETURN VALUE        top

       If successful, thepthread_rwlock_destroy() andpthread_rwlock_init() functions shall return zero; otherwise, an       error number shall be returned to indicate the error.

ERRORS        top

       Thepthread_rwlock_init() function shall fail if:EAGAINThe system lacked the necessary resources (other than              memory) to initialize another read-write lock.ENOMEMInsufficient memory exists to initialize the read-write              lock.EPERMThe caller does not have the privilege to perform the              operation.       These functions shall not return an error code of[EINTR].The following sections are informative.

EXAMPLES        top

       None.

APPLICATION USAGE        top

       Applications using these and related read-write lock functions may       be subject to priority inversion, as discussed in the Base       Definitions volume of POSIX.1‐2017,Section 3.291,PriorityInversion.

RATIONALE        top

       If an implementation detects that the value specified by therwlock argument topthread_rwlock_destroy() 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 theattr       argument topthread_rwlock_init() does not refer to an initialized       read-write lock attributes object, it is recommended that the       function should fail and report an[EINVAL]error.       If an implementation detects that the value specified by therwlock argument topthread_rwlock_destroy() orpthread_rwlock_init() refers to a locked read-write lock object,       or detects that the value specified by therwlock argument topthread_rwlock_init() refers to an already initialized read-write       lock object, it is recommended that the function should fail and       report an[EBUSY]error.

FUTURE DIRECTIONS        top

       None.

SEE ALSO        top

pthread_rwlock_rdlock(3p),pthread_rwlock_timedrdlock(3p),pthread_rwlock_timedwrlock(3p),pthread_rwlock_trywrlock(3p),pthread_rwlock_unlock(3p)       The  Base  Definitions  volume  of  POSIX.1‐2017,Section3.291,Priority Inversion,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  athttp://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,  seehttps://www.kernel.org/doc/man-pages/reporting_bugs.html .IEEE/The Open Group                2017PTHREAD_..._DESTROY(3P)

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



HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface.

For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere.

Hosting byjambit GmbH.

Cover of TLPI


[8]ページ先頭

©2009-2025 Movatter.jp