atomic_flag_test_and_set, atomic_flag_test_and_set_explicit
|
Défini dans l'en-tête
<stdatomic.h>
|
||
|
_Bool atomic_flag_test_and_set
(
volatile
atomic_flag
*
obj
)
;
|
(1) | (depuis C11) |
|
_Bool atomic_flag_test_and_set_explicit
(
volatile
atomic_flag
*
obj,
memory_order
order
)
;
|
(2) | (depuis C11) |
Modifie atomiquement l'état d'un
atomic_flag
pointé par
obj
pour le mettre à l'état actif (
true
) et retourne la valeur précédente. La première version ordonne les accès mémoire selon
memory_order_seq_cst
, la deuxième version ordonne les accès mémoire selon
order
.
L'argument est un pointeur vers un drapeau atomique volatile pour accepter les adresses à la fois des drapeaux atomiques non volatiles et volatiles (par exemple, les E/S mappées en mémoire).
Table des matières |
Paramètres
| obj | - | pointeur vers l'objet drapeau atomique à modifier |
| order | - | l'ordre de synchronisation mémoire pour cette opération : toutes les valeurs sont autorisées |
Valeur de retour
La valeur précédente détenue par l'indicateur atomique pointé par
obj
.
Références
- Norme C17 (ISO/CEI 9899:2018) :
-
- 7.17.8.1 Les fonctions atomic_flag_test_and_set (p: 209)
- Norme C11 (ISO/IEC 9899:2011) :
-
- 7.17.8.1 Les fonctions atomic_flag_test_and_set (p: 285-286)
Voir aussi
|
définit un atomic_flag à false
(fonction) |
|
|
Documentation C++
pour
atomic_flag_test_and_set
,
atomic_flag_test_and_set_explicit
|
|