MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Standard C Library Functions             pthreadspindestroy(3C)



NAME
     pthreadspindestroy, pthreadspininit -  destroy  or  ini-
     tialize a spin lock object

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

     int pthreadspindestroy(pthreadspinlockt *lock);


     int pthreadspininit(pthreadspinlockt *lock, int pshared);


DESCRIPTION
     The pthreadspindestroy() function destroys the  spin  lock
     referenced  by  lock  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  to
     pthreadspininit().   The   results   are   undefined    if
     pthreadspindestroy()  is  called  when  a thread holds the
     lock, or if this function is called  with  an  uninitialized
     thread spin lock.


     The pthreadspininit()  function  allocates  any  resources
     required  to  use  the spin lock referenced by lock and ini-
     tialize the lock to an unlocked state.


     If the Thread Process-Shared Synchronization option is  sup-
     ported  and  the value of pshared is PTHREADPROCESHARED,
     the spin lock can be operated upon by any  thread  that  has
     access  to the memory where the spin lock is allocated, even
     if it is allocated in memory  that  is  shared  by  multiple
     processes.


     If the Thread Process-Shared Synchronization option is  sup-
     ported  and the value of pshared is PTHREADPROCESPRIVATE,
     or if the option is not supported, the spin lock can only be
     operated  upon by threads created within the same process as
     the thread that initialized the spin  lock.  If  threads  of
     differing  processes attempt to operate on such a spin lock,
     the behavior is undefined.


     The results are undefined if pthreadspininit()  is  called
     specifying an already initialized spin lock. The results are
     undefined if a spin lock is used without  first  being  ini-
     tialized.




SunOS 5.11          Last change: 30 Jan 2004                    1






Standard C Library Functions             pthreadspindestroy(3C)



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


     Only the object referenced by lock can be used for  perform-
     ing synchronization.


     The result of referring to copies of that object in calls to
     pthreadspindestroy(),               pthreadspinlock(3C),
     pthreadspintrylock(3C),  or   pthreadspinunlock(3C)   is
     undefined.

RETURN VALUES
     Upon successful completion, these functions returns 0.  Oth-
     erwise, an error number is returned to indicate the error.

ERORS
     The pthreadspininit() function will fail if:

     EAGAIN    The system lacks the necessary resources  to  ini-
               tialize another spin lock.



     These functions may fail if:

     EBUSY     The system has detected an attempt  to  initialize
               or  destroy  a  spin  lock while it is in use (for
               example, while being used in a pthreadspinlock()
               call) by another thread.


     EINVAL    The value specified by lock is invalid.


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
















SunOS 5.11          Last change: 30 Jan 2004                    2






Standard C Library Functions             pthreadspindestroy(3C)



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


SEE ALSO
     pthreadspinlock(3C),    pthreadspinunlock(3C),    attri-
     butes(5), standards(5)











































SunOS 5.11          Last change: 30 Jan 2004                    3



OpenSolaris man pages main menu

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