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

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



NAME    [Toc]    [Back]

       pthread_rwlock_trywrlock  -  Attempts  to  acquire a readwrite
 lock for write access without waiting

SYNOPSIS    [Toc]    [Back]

       #include <pthread.h>

       int pthread_rwlock_trywrlock(
               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 the read-write lock referenced
 by rwlock for write access. If any thread  already
       holds that lock for write access or read access, this routine
 fails and returns [EBUSY] and the calling thread does
       not wait for the lock to become available.

       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.

       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
       read-write  lock  could  not  be acquired for write access
       because it was already locked for write access or for read
       access.   The  value specified by rwlock does not refer to
       an initialized read-write lock object.  The current thread
       already owns the read-write lock for write or read access.

ERRORS    [Toc]    [Back]


SEE ALSO    [Toc]    [Back]

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

       Manuals: Guide to DECthreads and Programmer's Guide

[ Back ]
 Similar pages
Name OS Title
pthread_rwlock_tryrdlock Tru64 Attempts to acquire a readwrite lock for read access without waiting
tis_read_trylock Tru64 Attempts to acquire a read-write lock for read access and does not wait if the lock cannot be immedi...
pthread_mutex_trylock Tru64 Attempts to lock the specified mutex, without waiting if already locked
pthread_rwlock_rdlock FreeBSD acquire a read/write lock for reading
pthread_rwlock_wrlock FreeBSD acquire a read/write lock for writing
pthread_rwlock_trywrlock OpenBSD acquire a read/write lock for writing
pthread_rwlock_tryrdlock FreeBSD acquire a read/write lock for reading
pthread_rwlock_trywrlock FreeBSD acquire a read/write lock for writing
pthread_rwlock_tryrdlock OpenBSD acquire a read/write lock for reading
pthread_rwlock_rdlock OpenBSD acquire a read/write lock for reading
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service