pthread_mutexattr man page on NetBSD

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

PTHREAD_MUTEXATTR(3)	 BSD Library Functions Manual	  PTHREAD_MUTEXATTR(3)

NAME
     pthread_mutexattr_init, pthread_mutexattr_destroy,
     pthread_mutexattr_settype, pthread_mutexattr_gettype — mutex attribute
     operations

LIBRARY
     POSIX Threads Library (libpthread, -lpthread)

SYNOPSIS
     #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 type);

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

DESCRIPTION
     Mutex attributes are used to specify parameters to pthread_mutex_init().
     Like with thread attributes, one attribute object can be used in multiple
     calls to pthread_mutex_init(3), with or without modifications between
     calls.

     The pthread_mutexattr_init() function initializes attr with all the
     default mutex attributes.

     The pthread_mutexattr_destroy() function destroys attr.

     The pthread_mutexattr_settype() functions set the mutex type value of the
     attribute.	 Valid mutex types are:

       PTHREAD_MUTEX_NORMAL
	    This type of mutex does not check for usage errors.	 It will dead‐
	    lock if reentered, and result in undefined behavior if a locked
	    mutex is unlocked by another thread.  Attempts to unlock an
	    already unlocked PTHREAD_MUTEX_NORMAL mutex will result in unde‐
	    fined behavior.

       PTHREAD_MUTEX_ERRORCHECK
	    These mutexes do check for usage errors.  If an attempt is made to
	    relock a PTHREAD_MUTEX_ERRORCHECK mutex without first dropping the
	    lock, an error will be returned.  If a thread attempts to unlock a
	    PTHREAD_MUTEX_ERRORCHECK mutex that is locked by another thread,
	    an error will be returned.	If a thread attempts to unlock a
	    PTHREAD_MUTEX_ERRORCHECK thread that is unlocked, an error will be
	    returned.

       PTHREAD_MUTEX_RECURSIVE
	    These mutexes allow recursive locking.  An attempt to relock a
	    PTHREAD_MUTEX_RECURSIVE mutex that is already locked by the same
	    thread succeeds.  An equivalent number of pthread_mutex_unlock(3)
	    calls are needed before the mutex will wake another thread waiting
	    on this lock.  If a thread attempts to unlock a
	    PTHREAD_MUTEX_RECURSIVE mutex that is locked by another thread, an
	    error will be returned.  If a thread attempts to unlock a
	    PTHREAD_MUTEX_RECURSIVE thread that is unlocked, an error will be
	    returned.

	    It is advised that PTHREAD_MUTEX_RECURSIVE mutexes are not used
	    with condition variables.  This is because of the implicit unlock‐
	    ing done by pthread_cond_wait(3) and pthread_cond_timedwait(3).

       PTHREAD_MUTEX_DEFAULT
	    Also this type of mutex will cause undefined behavior if reen‐
	    tered.  Unlocking a PTHREAD_MUTEX_DEFAULT mutex locked by another
	    thread will result in undefined behavior.  Attempts to unlock an
	    already unlocked PTHREAD_MUTEX_DEFAULT mutex will result in unde‐
	    fined behavior.

	    This is the default mutex type for pthread_mutexaddr_init().

     The pthread_mutexattr_gettype() functions copy the type value of the
     attribute to the location pointed to by the second parameter.

RETURN VALUES
     If successful, these functions return 0.  Otherwise, an error number is
     returned to indicate the error.

ERRORS
     The pthread_mutexattr_init() function shall fail if:

     [ENOMEM]		Insufficient memory exists to initialize the mutex
			attributes object.

     The pthread_mutexattr_settype() function shall fail if:

     [EINVAL]		The value specified either by type or attr is invalid.

     No error numbers are defined for the pthread_mutexattr_destroy() and
     pthread_mutexattr_gettype() functions.

SEE ALSO
     pthread_mutex_init(3)

STANDARDS
     These functions conform to IEEE Std 1003.1-2001 (“POSIX.1”).

BSD				 July 9, 2010				   BSD
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server NetBSD

List of man pages available for NetBSD

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