pthread_mutexattr_settype man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

pthread_mutexattr_gettypeStandard C Library Functpthread_mutexattr_gettype(3C)

NAME
       pthread_mutexattr_gettype, pthread_mutexattr_settype - get or set mutex
       type

SYNOPSIS
       cc -mt [ flag... ] file... -lpthread [ library... ]
       #include <pthread.h>

       int pthread_mutexattr_gettype(pthread_mutexattr_t *restrict  attr,  int
       *restrict type);

       int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int type);

DESCRIPTION
       The  pthread_mutexattr_gettype()	 and pthread_mutexattr_settype() func‐
       tions respectively get and set the mutex type attribute. This attribute
       is  set	in the type parameter to these functions. The default value of
       the type attribute is PTHREAD_MUTEX_DEFAULT.

       The type of mutex is contained in  the  type  attribute	of  the	 mutex
       attributes. Valid mutex types include:

       PTHREAD_MUTEX_NORMAL	       This  type  of  mutex  does  not detect
				       deadlock. A thread attempting to relock
				       this  mutex  without first unlocking it
				       will deadlock. Attempting to  unlock  a
				       mutex  locked  by  a  different	thread
				       results in undefined behavior. Attempt‐
				       ing to unlock an unlocked mutex results
				       in undefined behavior.

       PTHREAD_MUTEX_ERRORCHECK	       This  type  of  mutex  provides	 error
				       checking. A thread attempting to relock
				       this mutex without first	 unlocking  it
				       will  return  with  an  error. A thread
				       attempting  to  unlock  a  mutex	  that
				       another	thread	has locked will return
				       with an error. A thread	attempting  to
				       unlock  an  unlocked  mutex will return
				       with an error.

       PTHREAD_MUTEX_RECURSIVE	       A  thread  attempting  to  relock  this
				       mutex  without  first unlocking it will
				       succeed	in  locking  the  mutex.   The
				       relocking  deadlock that can occur with
				       mutexes	of  type  PTHREAD_MUTEX_NORMAL
				       cannot  occur  with this type of mutex.
				       Multiple locks of  this	mutex  require
				       the  same  number of unlocks to release
				       the mutex  before  another  thread  can
				       acquire	the mutex. A thread attempting
				       to unlock a mutex that  another	thread
				       has locked will return with an error. A
				       thread attempting to unlock an unlocked
				       mutex  will  return with an error. This
				       type of mutex  is  only	supported  for
				       mutexes	whose process shared attribute
				       is PTHREAD_PROCESS_PRIVATE.

       PTHREAD_MUTEX_DEFAULT	       Attempting to recursively lock a	 mutex
				       of   this  type	results	 in  undefined
				       behavior. Attempting to unlock a	 mutex
				       of this type that was not locked by the
				       calling	thread	results	 in  undefined
				       behavior.  Attempting to unlock a mutex
				       of this type that is not locked results
				       in  undefined  behavior. An implementa‐
				       tion is allowed to map  this  mutex  to
				       one of the other mutex types.

RETURN VALUES
       Upon  successful	 completion,  the pthread_mutexattr_settype() function
       returns 0. Otherwise, an error  number  is  returned  to	 indicate  the
       error.

       Upon  successful	 completion,  the pthread_mutexattr_gettype() function
       returns 0 and stores the value of the type attribute  of	 attr  in  the
       object  referenced  by the type parameter. Otherwise an error number is
       returned to indicate the error.

ERRORS
       The pthread_mutexattr_gettype() and  pthread_mutexattr_settype()	 func‐
       tions will fail if:

       EINVAL	       The value type is invalid.

       The  pthread_mutexattr_gettype()	 and pthread_mutexattr_settype() func‐
       tions may fail if:

       EINVAL	       The value specified by attr is invalid.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Interface Stability	     │Standard			   │
       ├─────────────────────────────┼─────────────────────────────┤
       │MT-Level		     │MT-Safe			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       pthread_cond_timedwait(3C), pthread_cond_wait(3C), attributes(5), stan‐
       dards(5)

NOTES
       Application  should not use a PTHREAD_MUTEX_RECURSIVE mutex with condi‐
       tion   variables	  because   the	  implicit   unlock   performed	   for
       pthread_cond_wait()   or	 pthread_cond_timedwait()  will	 not  actually
       release the mutex (if it had  been  locked  multiple  times).  If  this
       occurs, no other thread can satisfy the condition of the predicate.

SunOS 5.10			  23 Mar 2005	 pthread_mutexattr_gettype(3C)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net