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

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



NAME    [Toc]    [Back]

       pthread_rwlock_init - Initializes a read-write lock object

SYNOPSIS    [Toc]    [Back]

       #include <pthread.h>

       int pthread_rwlock_init(
               pthread_rwlock_t *rwlock,
               const pthread_rwlockattr_t *attr );

LIBRARY    [Toc]    [Back]

       DECthreads POSIX 1003.1c Library (libpthread.so)

PARAMETERS    [Toc]    [Back]

       Read-write lock object to be initialized.  Read-write lock
       attributes  object that defines the characteristics of the
       read-write lock to be initialized.

DESCRIPTION    [Toc]    [Back]

       This routine initializes a read-write lock object with the
       attributes  specified  by  the  read-write lock attributes
       object specified in attr.  A read-write lock is a synchronization
  object that serializes access to shared information
 that needs to be read  frequently  and  written  only
       occasionally.   A thread can acquire a read-write lock for
       shared read access or for exclusive write access.

       Upon successful completion of this routine, the read-write
       lock is initialized and set to the unlocked state. If attr
       is set to NULL, the default read-write lock attributes are
       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 of calling this  routine  are  undefined  if  attr
       specifies  an  already  initialized  read-write lock or if
       rwlock is used without first being initialized.

       If this routine returns unsuccessfully, rwlock is not initialized
 and the contents of rwlock are undefined.

       A  read-write  lock is a resource of the process, not part
       of any particular thread. A  read-write  lock  is  neither
       destroyed  not  unlocked  automatically  when  any  thread
       exits. Because read-write locks are shared,  they  may  be
       allocated in heap or static memory, but not on a stack.

       In  cases  where  default  read-write  lock attributes are
       appropriate, you may  use  the  PTHREAD_RWLOCK_INITIALIZER
       macro  to  statically  initialize  the lock object without
       calling this routine. The effect is equivalent to  dynamic
       initialization  by a call to pthread_rwlock_init with attr
       specified as NULL, except that no error  checks  are  performed.
   Statically initialized read-write locks need not
       be destroyed using pthread_rwlock_destroy.

       Use the PTHREAD_RWLOCK_INITIALIZER macro as follows:

       pthread_rwlock_t  rwlock= PTHREAD_RWLOCK_INITIALIZER;

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
       system  lacks  the  necessary  resources to initialize the
       read-write  lock.   The  implementation  has  detected  an
       attempt  to reinitialize the read-write lock (a previously
       initialized,  but  not  yet  destroyed   read-write   lock
       object).   The  value  specified  by  attr  is not a valid
       attributes block.  Insufficient memory exists to  initialize
  the read-write lock.  The caller does not have privileges
 to perform this operation.

ERRORS    [Toc]    [Back]


SEE ALSO    [Toc]    [Back]

       Functions: pthread_rwlock_destroy(3)

       Manuals: Guide to DECthreads and Programmer's Guide

[ Back ]
 Similar pages
Name OS Title
pthread_rwlock_rdlock IRIX lock a read-write lock object for reading
pthread_rwlock_wrlock IRIX lock a read-write lock object for writing
pthread_rwlock_unlock IRIX unlock a read-write lock object
pthread_rwlock_destroy Tru64 Destroys a read-write lock object
tis_rwlock_destroy Tru64 Destroys the specified read-write lock object
pthread_rwlockattr_init Tru64 Initialize a read-write lock attributes object
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_write_unlock Tru64 Unlocks the specified read-write lock that was acquired for write access
tis_read_unlock Tru64 Unlocks a read-write lock that was acquired for read access
tis_write_lock Tru64 Acquires the specified read-write lock for write access
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service