mtx_timedlock
|
Definido en el encabezado
<threads.h>
|
||
|
int
mtx_timedlock
(
mtx_t
*
restrict
mutex,
const struct timespec * restrict time_point ) ; |
(desde C11) | |
Bloquea el hilo actual hasta que el mutex apuntado por
mutex
sea bloqueado o hasta que se alcance el punto de tiempo calendario absoluto basado en
TIME_UTC
apuntado por
time_point
.
Dado que esta función toma un tiempo absoluto, si se requiere una duración, el punto de tiempo del calendario debe calcularse manualmente.
El comportamiento es indefinido si el hilo actual ya ha bloqueado el mutex y el mutex no es recursivo.
El comportamiento es indefinido si el mutex no admite tiempo de espera.
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 |
| time_point | - | puntero al tiempo calendario absoluto hasta el cual esperar por el timeout |
Valor de retorno
thrd_success si es exitoso, thrd_timedout si se alcanza el tiempo de espera antes de que el mutex sea bloqueado, thrd_error si ocurre un error.
Referencias
- Estándar C17 (ISO/IEC 9899:2018):
-
- 7.26.4.4 La función mtx_timedlock (p: 278)
- Estándar C11 (ISO/IEC 9899:2011):
-
- 7.26.4.4 La función mtx_timedlock (p: 381-382)
Véase también
|
(C11)
|
tiempo en segundos y nanosegundos
(estructura) |
|
(C11)
|
bloquea hasta adquirir un mutex
(función) |
|
(C11)
|
adquiere un mutex o retorna sin bloquear si ya está bloqueado
(función) |
|
(C11)
|
libera un mutex
(función) |
|
Documentación de C++
para
timed_mutex::try_lock_until
|
|
|
Documentación de C++
para
recursive_timed_mutex::try_lock_until
|
|
Enlaces externos
| Manual de GNU GCC Libc: ISO-C-Mutexes |