1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
.\" Copyright, the authors of the Linux man-pages project
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.TH pthread_mutexattr_getpshared 3 2025-08-24 "Linux man-pages (unreleased)"
.SH NAME
pthread_mutexattr_getpshared, pthread_mutexattr_setpshared \- get/set
process-shared mutex attribute
.SH LIBRARY
POSIX threads library
.RI ( libpthread ,\~ \-lpthread )
.SH SYNOPSIS
.nf
.B #include <pthread.h>
.P
.B int pthread_mutexattr_getpshared(
.BI " const pthread_mutexattr_t *restrict " attr ,
.BI " int *restrict " pshared );
.BI "int pthread_mutexattr_setpshared(pthread_mutexattr_t *" attr ,
.BI " int " pshared );
.fi
.SH DESCRIPTION
These functions get and set the process-shared attribute
in a mutex attributes object.
This attribute must be appropriately set to ensure correct,
efficient operation of a mutex created using this attributes object.
.P
The process-shared attribute can have one of the following values:
.TP
.B PTHREAD_PROCESS_PRIVATE
Mutexes created with this attributes object are to be shared
only among threads in the same process that initialized the mutex.
This is the default value for the process-shared mutex attribute.
.TP
.B PTHREAD_PROCESS_SHARED
Mutexes created with this attributes object can be shared between
any threads that have access to the memory containing the object,
including threads in different processes.
.P
.BR pthread_mutexattr_getpshared ()
places the value of the process-shared attribute of
the mutex attributes object referred to by
.I attr
in the location pointed to by
.IR pshared .
.P
.BR pthread_mutexattr_setpshared ()
sets the value of the process-shared attribute of
the mutex attributes object referred to by
.I attr
to the value specified in
.BR pshared .
.P
If
.I attr
does not refer to an initialized mutex attributes object,
the behavior is undefined.
.SH RETURN VALUE
On success, these functions return 0.
On error, they return a positive error number.
.SH ERRORS
.BR pthread_mutexattr_setpshared ()
can fail with the following errors:
.TP
.B EINVAL
The value specified in
.I pshared
is invalid.
.TP
.B ENOTSUP
.I pshared
is
.B PTHREAD_PROCESS_SHARED
but the implementation does not support process-shared mutexes.
.SH STANDARDS
POSIX.1-2008.
.SH HISTORY
POSIX.1-2001.
.SH SEE ALSO
.ad l
.nh
.BR pthread_mutexattr_init (3),
.BR pthreads (7)
|