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
|
.\" Copyright (c) 2017, Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.TH pthread_mutexattr_getpshared 3 2022-10-30 "Linux man-pages 6.03"
.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>
.PP
.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.
.PP
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.
.PP
.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 .
.PP
.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 .
.PP
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-2001, POSIX.1-2008.
.SH SEE ALSO
.ad l
.nh
.BR pthread_mutexattr_init (3),
.BR pthreads (7)
|