Namespaces
Variants

thrd_exit

From cppreference.net
Défini dans l'en-tête <threads.h>
_Noreturn void thrd_exit ( int res ) ;
(depuis C11)
(jusqu'à C23)
[ [ noreturn ] ] void thrd_exit ( int res ) ;
(depuis C23)

D'abord, pour chaque clé de stockage spécifique au thread qui a été créée avec un destructeur non nul et pour laquelle la valeur associée est non nulle (voir tss_create ), thrd_exit définit la valeur associée à la clé à NULL puis invoque le destructeur avec la valeur précédente de la clé. L'ordre dans lequel les destructeurs sont invoqués n'est pas spécifié.

Si, après cela, il reste des clés avec des destructeurs non nuls et des valeurs (par exemple, si un destructeur a exécuté tss_set ), le processus est répété jusqu'à TSS_DTOR_ITERATIONS fois.

Enfin, la fonction thrd_exit termine l'exécution du thread appelant et définit son code de résultat à res .

Si le dernier thread du programme est terminé avec thrd_exit , l'ensemble du programme se termine comme s'il appelait exit avec EXIT_SUCCESS comme argument (ainsi les fonctions enregistrées par atexit sont exécutées dans le contexte de ce dernier thread)

Table des matières

Paramètres

res - la valeur de résultat à retourner

Valeur de retour

(aucun)

Références

  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.26.5.5 La fonction thrd_exit (p : 280)
  • Norme C11 (ISO/IEC 9899:2011) :
  • 7.26.5.5 La fonction thrd_exit (p: 384)

Voir aussi

bloque jusqu'à la fin d'un thread
(fonction)
détache un thread
(fonction)