pthread_exit termine l'exécution du thread appelant. Tous les gestionnaires de nettoyage enregistrés pour le thread courrant par
pthread_cleanup_push(3) sont exécutés dans l'ordre inverse (du plus récemment enregistré au plus ancien). Les fonctions de fin pour les données spécifiques au thread sont ensuitre appelées pour toutes les clés qui n'ont pas de valeur
NULL associée à elles dans le thread appelabt (voir
pthread_key_create(3) ). Enfin, l'exécution du thread appelant est arrêtée. L'argument
retval est la valeur de retour du thread. Il peut être consulté par un autre thread en utisant
pthread_join(3) .