MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Standard C Library Functions              pthreadrwlockinit(3C)



NAME
     pthreadrwlockinit, pthreadrwlockdestroy - initialize  or
     destroy read-write lock object

SYNOPSIS
     cc -mt [ flag... ] file... -lpthread [ library... ]
     #include 

     int pthreadrwlockinit(pthreadrwlockt *restrict rwlock,
          const pthreadrwlockattrt *restrict attr);


     int pthreadrwlockdestroy(pthreadrwlockt **rwlock);


     pthreadrwlockt rwlock=PTHREADRWLOCKINITIALIZER;


DESCRIPTION
     The pthreadrwlockinit()  function  initializes  the  read-
     write  lock referenced by rwlock with  the attributes refer-
     enced by attr.  If attr is  NUL,  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 re-initialized.  Upon  successful  initializa-
     tion,  the state of the read-write lock  becomes initialized
     and     unlocked.      Results     are     undefined      if
     pthreadrwlockinit()  is  called specifying an already ini-
     tialized read-write lock.  Results are undefined if a  read-
     write lock is used without first being  initialized.


     If the  pthreadrwlockinit() function fails, rwlock is  not
     initialized and the contents of  rwlock are undefined.


     The pthreadrwlockdestroy()  function  destroys  the  read-
     write  lock  object  referenced  by rwlock and  releases any
     resources used by the lock.  The effect of subsequent use of
     the  lock  is undefined until the lock  is re-initialized by
     another call to pthreadrwlockinit(). An implementation may
     cause  pthreadrwlockdestroy() to set the object referenced
     by rwlock to an invalid value.   Results  are  undefined  if
     pthreadrwlockdestroy()  is  called  when  any thread holds
     rwlock.  Attempting to destroy an uninitialized   read-write
     lock results in undefined behaviour.  A destroyed read-write
     lock     object     can     be     re-initialized      using
     pthreadrwlockinit();  the results of otherwise referencing
     the read-write lock object after it  has been destroyed  are
     undefined.




SunOS 5.11          Last change: 23 mar 2005                    1






Standard C Library Functions              pthreadrwlockinit(3C)



     In  cases  where  default  read-write  lock  attributes  are
     appropriate,  the  macro   PTHREADRWLOCKINITIALIZER can be
     used to initialize  read-write  locks  that  are  statically
     allocated.   The effect is equivalent to dynamic initializa-
     tion by a call to  pthreadrwlockinit() with the  parameter
     attr  specified  as  NUL,  except that no error  checks are
     performed.

RETURN VALUES
     If    successful,     the      pthreadrwlockinit()     and
     pthreadrwlockdestroy()  functions return  0. Otherwise, an
     error number is returned to indicate the error.

ERORS
     The  pthreadrwlockinit()   and    pthreadrwlockdestroy()
     functions will fail if:

     EINVAL    The value specified by attr is invalid.


     EINVAL    The value specified by rwlock is invalid.


ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Interface Stability          Standard                    
    
     MT-Level                     MT-Safe                     
    


SEE ALSO
     pthreadrwlockrdlock(3C),        pthreadrwlockunlock(3C),
     pthreadrwlockwrlock(3C),      pthreadrwlockattrinit(3C),
     attributes(5), standards(5)













SunOS 5.11          Last change: 23 mar 2005                    2



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™