mtx_timedlock
|
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
|
(C11)
|
temps en secondes et nanosecondes
(structure) |
|
(C11)
|
bloque jusqu'à verrouiller un mutex
(fonction) |
|
(C11)
|
verrouille un mutex ou retourne sans bloquer s'il est déjà verrouillé
(fonction) |
|
(C11)
|
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 |