pthread_mutexattr_init - Man Page

initialize and destroy a mutex attributes object


#include <pthread.h>

int pthread_mutexattr_init(pthread_mutexattr_t *attr);
int pthread_mutexattr_destroy(pthread_mutexattr_t *attr);

Compile and link with -pthread.


The pthread_mutexattr_init() function initializes the mutex attributes object pointed to by attr with default values for all attributes defined by the implementation.

The results of initializing an already initialized mutex attributes object are undefined.

The pthread_mutexattr_destroy() function destroys a mutex attribute object (making it uninitialized). Once a mutex attributes object has been destroyed, it can be reinitialized with pthread_mutexattr_init().

The results of destroying an uninitialized mutex attributes object are undefined.

Return Value

On success, these functions return 0. On error, they return a positive error number.

Conforming to

POSIX.1-2001, POSIX.1-2008.


Subsequent changes to a mutex attributes object do not affect mutex that have already been initialized using that object.

See Also

pthread_mutex_init(3), pthread_mutexattr_getpshared(3), pthread_mutexattr_getrobust(3), pthreads(7)


This page is part of release 5.13 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at

Referenced By

pthread_mutexattr_getpshared(3), pthread_mutexattr_setrobust(3), pthread_mutex_consistent(3), pthreads(7).

The man page pthread_mutexattr_destroy(3) is an alias of pthread_mutexattr_init(3).

2019-10-10 Linux Programmer's Manual