atomic_flag_test_and_set, atomic_flag_test_and_set_explicit
|
Definido en el encabezado
<stdatomic.h>
|
||
|
_Bool atomic_flag_test_and_set
(
volatile
atomic_flag
*
obj
)
;
|
(1) | (desde C11) |
|
_Bool atomic_flag_test_and_set_explicit
(
volatile
atomic_flag
*
obj,
memory_order
order
)
;
|
(2) | (desde C11) |
Cambia atómicamente el estado de un
atomic_flag
apuntado por
obj
a establecido (
true
) y devuelve el valor anterior. La primera versión ordena los accesos a memoria según
memory_order_seq_cst
, la segunda versión ordena los accesos a memoria según
order
.
El argumento es un puntero a una bandera atómica volátil para aceptar direcciones de banderas atómicas tanto no volátiles como volátiles (por ejemplo, E/S mapeadas en memoria).
Contenidos |
Parámetros
| obj | - | puntero al objeto de bandera atómica a modificar |
| order | - | el orden de sincronización de memoria para esta operación: se permiten todos los valores |
Valor de retorno
El valor anterior mantenido por el indicador atómico apuntado por
obj
.
Referencias
- Estándar C17 (ISO/IEC 9899:2018):
-
- 7.17.8.1 Las funciones atomic_flag_test_and_set (p: 209)
- Estándar C11 (ISO/IEC 9899:2011):
-
- 7.17.8.1 Las funciones atomic_flag_test_and_set (p: 285-286)
Véase también
|
establece un atomic_flag a falso
(función) |
|
|
Documentación de C++
para
atomic_flag_test_and_set
,
atomic_flag_test_and_set_explicit
|
|