Namespaces
Variants

cnd_timedwait

From cppreference.net
Definido en el encabezado <threads.h>
int cnd_timedwait ( cnd_t * restrict cond, mtx_t * restrict mutex,
const struct timespec * restrict time_point ) ;
(desde C11)

Desbloquea atómicamente el mutex apuntado por mutex y bloquea en la variable de condición apuntada por cond hasta que el hilo sea señalado por cnd_signal o cnd_broadcast , o hasta que el punto temporal basado en TIME_UTC apuntado por time_point haya sido alcanzado, o hasta que ocurra un despertar espurio. El mutex es vuelto a bloquear antes de que la función retorne.

El comportamiento es indefinido si el mutex no está ya bloqueado por el hilo que realiza la llamada.

Contenidos

Parámetros

cond - puntero a la variable de condición en la que bloquearse
mutex - puntero al mutex para desbloquear durante la duración del bloqueo
time_point - puntero a un objeto que especifica el tiempo de espera hasta el cual esperar

Valor de retorno

thrd_success si es exitoso, thrd_timedout si se alcanzó el tiempo de espera antes de que el mutex se bloqueara, o thrd_error si ocurrió un error.

Referencias

  • Estándar C17 (ISO/IEC 9899:2018):
  • 7.26.3.5 La función cnd_timedwait (p: 276-277)
  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.26.3.5 La función cnd_timedwait (p: 379-380)

Véase también

bloquea en una variable de condición
(función)
C++ documentation para condition_variable::wait_until
C++ documentation para condition_variable_any::wait_until