summaryrefslogtreecommitdiffstats
path: root/posix1003-1/synchronization.rst
blob: ee0afc6b9c74f151129f9a8783882028838ec18c (plain) (blame)
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
.. comment SPDX-License-Identifier: CC-BY-SA-4.0

Synchronization
###############

Semaphore Characteristics
=========================

NOTE: Semaphores are implemented but only unnamed semaphores
are currently tested.
.. code:: c

    sem_t, Type, Implemented

Semaphore Functions
===================

Initialize an Unnamed Semaphore
-------------------------------

.. code:: c

    sem_init(), Function, Implemented
    SEM_FAILED, Constant, Implemented

Destroy an Unnamed Semaphore
----------------------------

.. code:: c

    sem_destroy(), Function, Implemented

Initialize/Open a Named Semaphore
---------------------------------

.. code:: c

    sem_open(), Function, Implemented

Close a Named Semaphore
-----------------------

.. code:: c

    sem_close(), Function, Implemented

Remove a Named Semaphore
------------------------

.. code:: c

    sem_unlink(), Function, Implemented

Lock a Semaphore
----------------

.. code:: c

    sem_wait(), Function, Implemented
    sem_trywait(), Function, Implemented

Unlock a Semaphore
------------------

.. code:: c

    sem_post(), Function, Implemented

Get the Value of a Semaphore
----------------------------

.. code:: c

    sem_getvalue(), Function, Implemented

Mutexes
=======

Mutex Initialization Attributes
-------------------------------

.. code:: c

    pthread_mutexattr_init(), Function, Implemented
    pthread_mutexattr_destroy(), Function, Implemented
    pthread_mutexattr_getpshared(), Function, Implemented
    pthread_mutexattr_setpshared(), Function, Implemented
    PTHREAD_PROCESS_SHARED, Constant, Implemented
    PTHREAD_PROCESS_PRIVATE, Constant, Implemented

Initializing and Destroying a Mutex
-----------------------------------

.. code:: c

    pthread_mutex_init(), Function, Implemented
    pthread_mutex_destroy(), Function, Implemented
    PTHREAD_MUTEX_INITIALIZER, Constant, Implemented

Locking and Unlocking a Mutex
-----------------------------

.. code:: c

    pthread_mutex_lock(), Function, Implemented
    pthread_mutex_trylock(), Function, Implemented
    pthread_mutex_unlock(), Function, Implemented

Condition Variables
===================

Condition Variable Initialization Attributes
--------------------------------------------

.. code:: c

    pthread_condattr_init(), Function, Implemented
    pthread_condattr_destroy(), Function, Implemented
    pthread_condattr_getpshared(), Function, Implemented
    pthread_condattr_setpshared(), Function, Implemented

Initialization and Destroying Condition Variables
-------------------------------------------------

.. code:: c

    pthread_cond_init(), Function, Implemented
    pthread_cond_destroy(), Function, Implemented
    PTHREAD_COND_INITIALIZER, Constant, Implemented

Broadcasting and Signaling a Condition
--------------------------------------

.. code:: c

    pthread_cond_signal(), Function, Implemented
    pthread_cond_broadcast(), Function, Implemented

Waiting on a Condition
----------------------

.. code:: c

    pthread_cond_wait(), Function, Implemented
    pthread_cond_timedwait(), Function, Implemented

.. COMMENT: COPYRIGHT (c) 1988-2002.

.. COMMENT: On-Line Applications Research Corporation (OAR).

.. COMMENT: All rights reserved.