Unix/Linux Go Back    

RedHat 9 (Linux i386) - man page for pthread_mutexattr_init (redhat section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


       pthread_mutexattr_init,	      pthread_mutexattr_destroy,       pthread_mutexattr_settype,
       pthread_mutexattr_gettype - mutex creation attributes

       #include <pthread.h>

       int pthread_mutexattr_init(pthread_mutexattr_t *attr);

       int pthread_mutexattr_destroy(pthread_mutexattr_t *attr);

       int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int kind);

       int pthread_mutexattr_gettype(const pthread_mutexattr_t *attr, int *kind);

       Mutex attributes can be specified at mutex creation time, by  passing  a  mutex	attribute
       object as second argument to pthread_mutex_init(3).  Passing NULL is equivalent to passing
       a mutex attribute object with all attributes set to their default values.

       pthread_mutexattr_init initializes the mutex attribute  object  attr  and  fills  it  with
       default values for the attributes.

       pthread_mutexattr_destroy  destroys  a  mutex  attribute  object, which must not be reused
       until it is reinitialized.  pthread_mutexattr_destroy does  nothing  in	the  LinuxThreads

       LinuxThreads  supports  only  one  mutex  attribute:  the  mutex  kind,	which  is  either
       PTHREAD_MUTEX_FAST_NP for ``fast'' mutexes, PTHREAD_MUTEX_RECURSIVE_NP  for  ``recursive''
       mutexes,  or PTHREAD_MUTEX_ERRORCHECK_NP for ``error checking'' mutexes.  As the NP suffix
       indicates, this is a non-portable extension to  the  POSIX  standard  and  should  not  be
       employed in portable programs.

       The  mutex  kind  determines  what happens if a thread attempts to lock a mutex it already
       owns  with   pthread_mutex_lock(3).    If   the	 mutex	 is   of   the	 ``fast''   kind,
       pthread_mutex_lock(3)  simply suspends the calling thread forever.  If the mutex is of the
       ``error checking'' kind, pthread_mutex_lock(3) returns immediately  with  the  error  code
       EDEADLK.   If  the  mutex  is of the ``recursive'' kind, the call to pthread_mutex_lock(3)
       returns immediately with a success return code. The number of times the thread owning  the
       mutex   has   locked   it   is  recorded  in  the  mutex.  The  owning  thread  must  call
       pthread_mutex_unlock(3) the same number of times before the mutex returns to the  unlocked

       The default mutex kind is ``fast'', that is, PTHREAD_MUTEX_FAST_NP.

       pthread_mutexattr_settype  sets the mutex kind attribute in attr to the value specified by

       pthread_mutexattr_gettype retrieves the current value of the mutex kind attribute in  attr
       and stores it in the location pointed to by kind.

       pthread_mutexattr_init,	pthread_mutexattr_destroy  and	pthread_mutexattr_gettype  always
       return 0.

       pthread_mutexattr_settype returns 0 on success and a non-zero error code on error.

       On error, pthread_mutexattr_settype returns the following error code:

       EINVAL kind  is	 neither   PTHREAD_MUTEX_FAST_NP   nor	 PTHREAD_MUTEX_RECURSIVE_NP   nor

       Xavier Leroy <Xavier.Leroy@inria.fr>

       pthread_mutex_init(3), pthread_mutex_lock(3), pthread_mutex_unlock(3).

					   LinuxThreads 		     PTHREAD_MUTEXATTR(3)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 11:40 AM.