Namespaces
Variants

mtx_timedlock

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

Bloque le thread actuel jusqu'à ce que le mutex pointé par mutex soit verrouillé ou jusqu'à ce que le point temporel calendaire absolu basé sur TIME_UTC pointé par time_point ait été atteint.

Puisque cette fonction prend un temps absolu, si une durée est requise, le point temporel du calendrier doit être calculé manuellement.

Le comportement n'est pas défini si le thread courant a déjà verrouillé le mutex et que le mutex n'est pas récursif.

Le comportement n'est pas défini si le mutex ne prend pas en charge le délai d'attente.

Les appels antérieurs à mtx_unlock sur le même mutex synchronize-with cette opération (si cette opération réussit), et toutes les opérations de verrouillage/déverrouillage sur un mutex donné forment un ordre total unique (similaire à l'ordre de modification d'une opération atomique)

Table des matières

Paramètres

mutex - pointeur vers le mutex à verrouiller
time_point - pointeur vers l'heure calendaire absolue jusqu'à laquelle attendre le délai d'expiration

Valeur de retour

thrd_success si réussi, thrd_timedout si le délai d'attente est atteint avant que le mutex soit verrouillé, thrd_error si une erreur survient.

Références

  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.26.4.4 La fonction mtx_timedlock (p : 278)
  • Norme C11 (ISO/IEC 9899:2011) :
  • 7.26.4.4 La fonction mtx_timedlock (p: 381-382)

Voir aussi

temps en secondes et nanosecondes
(structure)
bloque jusqu'à verrouiller un mutex
(fonction)
verrouille un mutex ou retourne sans bloquer s'il est déjà verrouillé
(fonction)
déverrouille un mutex
(fonction)
Documentation C++ pour timed_mutex::try_lock_until
Documentation C++ pour recursive_timed_mutex::try_lock_until

Liens externes

Manuel GNU GCC Libc : ISO-C-Mutexes