Namespaces
Variants

cnd_timedwait

From cppreference.net
Défini dans l'en-tête <threads.h>
int cnd_timedwait ( cnd_t * restrict cond, mtx_t * restrict mutex,
const struct timespec * restrict time_point ) ;
(depuis C11)

Déverrouille atomiquement le mutex pointé par mutex et bloque sur la variable de condition pointée par cond jusqu'à ce que le thread soit signalé par cnd_signal ou cnd_broadcast , ou jusqu'à ce que le point temporel basé sur TIME_UTC pointé par time_point ait été atteint, ou jusqu'à ce qu'un réveil spurious se produise. Le mutex est verrouillé à nouveau avant que la fonction ne retourne.

Le comportement est indéfini si le mutex n'est pas déjà verrouillé par le thread appelant.

Table des matières

Paramètres

cond - pointeur vers la variable de condition sur laquelle se bloquer
mutex - pointeur vers le mutex à déverrouiller pendant la durée du blocage
time_point - pointeur vers un objet spécifiant le délai d'attente jusqu'auquel attendre

Valeur de retour

thrd_success si réussi, thrd_timedout si le délai d'attente a été atteint avant que le mutex ne soit verrouillé, ou thrd_error si une erreur s'est produite.

Références

  • Norme C17 (ISO/IEC 9899:2018) :
  • 7.26.3.5 La fonction cnd_timedwait (p: 276-277)
  • Norme C11 (ISO/CEI 9899:2011) :
  • 7.26.3.5 La fonction cnd_timedwait (p: 379-380)

Voir aussi

bloque sur une variable de condition
(fonction)
Documentation C++ pour condition_variable::wait_until
Documentation C++ pour condition_variable_any::wait_until