Namespaces
Variants

mtx_trylock

From cppreference.net
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

bloquea hasta adquirir un mutex
(función)
bloquea hasta adquirir un mutex o agotar el tiempo
(función)
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