blob: 0d19e6091b2609d552c6d77b8950ce50066ecf87 (
plain)
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
|
.\" Copyright (c) 2017, Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.TH pthread_mutexattr_getpshared 3 2024-05-02 "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)
|