atomic_flag_test_and_set, atomic_flag_test_and_set_explicit
|
Definiert in Header
<stdatomic.h>
|
||
|
_Bool atomic_flag_test_and_set
(
volatile
atomic_flag
*
obj
)
;
|
(1) | (seit C11) |
|
_Bool atomic_flag_test_and_set_explicit
(
volatile
atomic_flag
*
obj,
memory_order
order
)
;
|
(2) | (seit C11) |
Ändert atomar den Zustand eines
atomic_flag
, auf das
obj
zeigt, auf gesetzt (
true
) und gibt den vorherigen Wert zurück. Die erste Version ordnet Speicherzugriffe gemäß
memory_order_seq_cst
, die zweite Version ordnet Speicherzugriffe gemäß
order
.
Das Argument ist ein Zeiger auf eine flüchtige atomare Flagge, um Adressen sowohl von nicht-flüchtigen als auch volatile (z.B. speichergemappte E/A) atomaren Flaggen zu akzeptieren.
Inhaltsverzeichnis |
Parameter
| obj | - | Zeiger auf das zu modifizierende atomare Flag-Objekt |
| order | - | die Speichersynchronisierungsreihenfolge für diesen Vorgang: alle Werte sind erlaubt |
Rückgabewert
Der vorherige Wert, der von der atomaren Flagge gehalten wurde, auf die
obj
zeigt.
Referenzen
- C17-Standard (ISO/IEC 9899:2018):
-
- 7.17.8.1 Die atomic_flag_test_and_set-Funktionen (S: 209)
- C11-Standard (ISO/IEC 9899:2011):
-
- 7.17.8.1 Die atomic_flag_test_and_set-Funktionen (S: 285-286)
Siehe auch
|
setzt ein atomic_flag auf false
(Funktion) |
|
|
C++-Dokumentation
für
atomic_flag_test_and_set
,
atomic_flag_test_and_set_explicit
|
|