📄 pthread_mutexattr_init.man
字号:
.TH PTHREAD_MUTEXATTR 3 LinuxThreads.XREF pthread_mutexattr_destroy.XREF pthread_mutexattr_setkind_np.XREF pthread_mutexattr_getkind_np.SH NAMEpthread_mutexattr_init, pthread_mutexattr_destroy, pthread_mutexattr_setkind_np, pthread_mutexattr_getkind_np \- mutex creation attributes.SH SYNOPSIS#include <pthread.h>int pthread_mutexattr_init(pthread_mutexattr_t *attr);int pthread_mutexattr_destroy(pthread_mutexattr_t *attr);int pthread_mutexattr_setkind_np(pthread_mutexattr_t *attr, int kind);int pthread_mutexattr_getkind_np(const pthread_mutexattr_t *attr, int *kind);.SH DESCRIPTIONMutex attributes can be specified at mutex creation time, by passing amutex attribute object as second argument to !pthread_mutex_init!(3).Passing !NULL! is equivalent to passing a mutex attribute object withall 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, whichmust not be reused until it is reinitialized. !pthread_mutexattr_destroy!does nothing in the LinuxThreads implementation. LinuxThreads supports only one mutex attribute: the mutex kind, whichis 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 thePOSIX standard and should not be employed in portable programs.The mutex kind determines what happens if a thread attempts to lock amutex it already owns with !pthread_mutex_lock!(3). If the mutex is ofthe ``fast'' kind, !pthread_mutex_lock!(3) simply suspends the callingthread 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 returncode. The number of times the thread owning the mutex has locked it isrecorded in the mutex. The owning thread must call!pthread_mutex_unlock!(3) the same number of times before the mutexreturns to the unlocked state.The default mutex kind is ``fast'', that is, !PTHREAD_MUTEX_FAST_NP!.!pthread_mutexattr_setkind_np! sets the mutex kind attribute in |attr|to the value specified by |kind|.!pthread_mutexattr_getkind_np! retrieves the current value of themutex kind attribute in |attr| and stores it in the location pointedto by |kind|..SH "RETURN VALUE"!pthread_mutexattr_init!, !pthread_mutexattr_destroy! and!pthread_mutexattr_getkind_np! always return 0.!pthread_mutexattr_setkind_np! returns 0 on success and a non-zeroerror code on error..SH ERRORSOn error, !pthread_mutexattr_setkind_np! returns the following error code:.TP!EINVAL!|kind| is neither !PTHREAD_MUTEX_FAST_NP! nor !PTHREAD_MUTEX_RECURSIVE_NP!nor !PTHREAD_MUTEX_ERRORCHECK_NP!.SH AUTHORXavier Leroy <Xavier.Leroy@inria.fr>.SH "SEE ALSO"!pthread_mutex_init!(3),!pthread_mutex_lock!(3),!pthread_mutex_unlock!(3).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -