*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> pthread_rwlock_wrlock (3)              



NAME    [Toc]    [Back]

       pthread_rwlock_wrlock  -  Acquires  a  read-write lock for
       write access

SYNOPSIS    [Toc]    [Back]

       #include <pthread.h>

       int pthread_rwlock_wrlock(
               pthread_rwlock_t *rwlock );

LIBRARY    [Toc]    [Back]

       DECthreads POSIX 1003.1c Library (libpthread.so)

PARAMETERS    [Toc]    [Back]

       Address of the read-write lock object to acquire for write

DESCRIPTION    [Toc]    [Back]

       This  routine  attempts  to  acquire a read-write lock for
       write access. If any thread already has acquired the  lock
       for  write  access or read access, the lock is not granted
       and the calling thread blocks until  it  can  acquire  the
       lock.  A thread can hold only one lock for write access on
       a read-write lock.

       Results are undefined if  the  calling  thread  holds  the
       read-write  lock (whether for read or write access) at the
       time this routine is called.

       If the read-write lock object referenced by rwlock is  not
       initialized, the results of calling this routine are undefined.

       If a thread is interrupted (via a Tru64 UNIX signal or  an
       OpenVMS AST) while waiting for a read-write lock for write
       access, upon return from the interrupt routine the  thread
       resumes  waiting for the lock as if it had not been interrupted.

       Real-time applications can  encounter  priority  inversion
       when  using  read-write  locks.  The problem occurs when a
       high-priority thread acquires a read-write  lock  that  is
       about  to  be unlocked (that is, posted) by a low-priority
       thread, but the low-priority  thread  is  preempted  by  a
       medium-priority  thread.  This  scenario leads to priority
       inversion in that a high-priority  thread  is  blocked  by
       lower-priority  threads  for  an unlimited period of time.
       During system design, real-time programmers must take into
       account the possibility of priority inversion and can deal
       with it in a number of ways, such as  by  having  critical
       sections that are guarded by read-write locks execute at a
       high priority, so that a thread cannot be preempted  while
       executing in its critical section.

RETURN VALUES    [Toc]    [Back]

       If  an  error  condition  occurs,  this routine returns an
       integer value  indicating  the  type  of  error.  Possible
       return  values are as follows: Successful completion.  The
       current thread already owns the read-write lock for  write
       or  read  access.   The value specified by rwlock does not
       refer to an initialized read-write lock object.

ERRORS    [Toc]    [Back]


SEE ALSO    [Toc]    [Back]

       Functions:     pthread_rwlock_init(3),     pthread_rwlockattr_init(3),                    pthread_rwlock_rdlock(3),
       pthread_rwlock_trywrlock(3), pthread_rwlock_unlock(3)

       Manuals: Guide to DECthreads and Programmer's Guide

[ Back ]
 Similar pages
Name OS Title
tis_write_lock Tru64 Acquires the specified read-write lock for write access
pthread_rwlock_rdlock Tru64 Acquires a read-write lock for read access
tis_read_lock Tru64 Acquires a read-write lock for read access
tis_write_unlock Tru64 Unlocks the specified read-write lock that was acquired for write access
tis_read_trylock Tru64 Attempts to acquire a read-write lock for read access and does not wait if the lock cannot be immedi...
tis_read_unlock Tru64 Unlocks a read-write lock that was acquired for read access
pthread_rwlock_rdlock IRIX lock a read-write lock object for reading
pthread_rwlock_wrlock IRIX lock a read-write lock object for writing
AFreadmisc IRIX read from / write to / move logical read/write pointer for data in a miscellaneous chunk in an audio file
pthread_rwlockattr_destroy FreeBSD destroy a read/write lock
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service