Namespaces
Variants

mtx_trylock

From cppreference.net
Défini dans l'en-tête <threads.h>
int mtx_trylock ( mtx_t * mutex ) ;
(depuis C11)

Tente de verrouiller le mutex pointé par mutex sans bloquer. Retourne immédiatement si le mutex est déjà verrouillé.

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

Valeur de retour

thrd_success si réussi, thrd_busy si le mutex est déjà verrouillé ou en raison d'un échec sporadique à acquérir un mutex disponible, thrd_error si une erreur se produit.

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C publiées précédemment.

DR Appliqué à Comportement publié Comportement corrigé
DR 470 C11 mtx_trylock ne pouvait pas échouer de manière sporadique autorisé

Références

  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.26.4.5 La fonction mtx_trylock (p : 278-279)
  • Norme C11 (ISO/CEI 9899:2011):
  • 7.26.4.5 La fonction mtx_trylock (p: 382)

Voir aussi

bloque jusqu'à l'obtention du verrou d'un mutex
(fonction)
bloque jusqu'à l'obtention du verrou d'un mutex ou expiration du délai
(fonction)
libère un mutex
(fonction)
documentation C++ pour mutex::try_lock
documentation C++ pour timed_mutex::try_lock
documentation C++ pour recursive_mutex::try_lock
documentation C++ pour recursive_timed_mutex::try_lock