mtx_trylock
|
Definido en el encabezado
<threads.h>
|
||
|
int
mtx_trylock
(
mtx_t
*
mutex
)
;
|
(desde C11) | |
Intenta bloquear el mutex apuntado por
mutex
sin bloquear. Retorna inmediatamente si el mutex ya está bloqueado.
Las llamadas previas a mtx_unlock en el mismo mutex sincronizan-con esta operación (si esta operación tiene éxito), y todas las operaciones de bloqueo/desbloqueo en cualquier mutex dado forman un único orden total (similar al orden de modificación de un atómico)
Contenidos |
Parámetros
| mutex | - | puntero al mutex a bloquear |
Valor de retorno
thrd_success si es exitoso, thrd_busy si el mutex ya ha sido bloqueado o debido a un fallo espurio al adquirir un mutex disponible, thrd_error si ocurre un error.
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C publicados anteriormente.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| DR 470 | C11 |
mtx_trylock
no podía fallar espuriamente
|
permitido |
Referencias
- Estándar C17 (ISO/IEC 9899:2018):
-
- 7.26.4.5 La función mtx_trylock (p: 278-279)
- Estándar C11 (ISO/IEC 9899:2011):
-
- 7.26.4.5 La función mtx_trylock (p: 382)
Véase también
|
(C11)
|
bloquea hasta adquirir un mutex
(función) |
|
(C11)
|
bloquea hasta adquirir un mutex o agotar el tiempo
(función) |
|
(C11)
|
libera un mutex
(función) |
|
Documentación de C++
para
mutex::try_lock
|
|
|
Documentación de C++
para
timed_mutex::try_lock
|
|
|
Documentación de C++
para
recursive_mutex::try_lock
|
|
|
Documentación de C++
para
recursive_timed_mutex::try_lock
|
|