pthread_exit(3) Library Functions Manual pthread_exit(3) BEZEICHNUNG pthread_exit - Aufrufenden Thread beenden BIBLIOTHEK POSIX-Threads-Bibliothek (libpthread, -lpthread) UBERSICHT #include <pthread.h> [[noreturn]] void pthread_exit(void *ruckwert); BESCHREIBUNG Die Funktion pthread_exit() beendet den aufrufenden Thread und liefert einen Wert mittels ruckwert zuruck, der (falls der Thread zusammenfuhrbar ist) einem anderen Thread in dem gleichen Prozess, der pthread_join(3) aufruft, zur Verfugung steht. Alle mit pthread_cleanup_push(3) etablierten Bereinigungs-Handhaber, die noch nicht nach oben geschoben wurden, werden nach oben geschoben (in der umgekehrten Reihenfolge, in der sie nach unten geschoben wurden) und werden ausgefuhrt. Falls der Thread uber Thread-spezifische Daten verfugt, werden nach Ausfuhrung der Bereinigungs-Handhaber die entsprechenden Destruktor-Funktionen in einer nicht festgelegten Reihenfolge aufgerufen. Wenn sich ein Thread beendet, werden vom Prozess gemeinsam verwandte Ressourcen (z.B. Mutexe, Bedingungsvariablen, Sempahoren und Dateideskriptoren) nicht freigegeben und mittels atexit(3) registrierte Funktionen werden nicht aufgerufen. Nachdem sich der letzte Thread in einem Prozess beendet, beendet sich der Prozess durch Aufruf von exit(3) mit einem Exit-Status von Null, daher werden von Prozessen gemeinsam benutzte Ressourcen freigegeben und mit atexit(3) registrierte Funktionen aufgerufen. RUCKGABEWERT Diese Funktion kehrt nicht zum Aufrufenden zuruck. FEHLER Diese Funktion ist immer erfolgreich. ATTRIBUTE Siehe attributes(7) fur eine Erlauterung der in diesem Abschnitt verwandten Ausdrucke. +--------------------------------+-------------------------+-----------+ |Schnittstelle | Attribut | Wert | +--------------------------------+-------------------------+-----------+ |pthread_exit() | Multithread-Fahigkeit | MT-Sicher | +--------------------------------+-------------------------+-----------+ STANDARDS POSIX.1-2008. GESCHICHTE POSIX.1-2001. ANMERKUNGEN Wird eine Ruckkehr aus einer Startfunktion eines Threads, der nicht der Haupt-Thread ist, durchgefuhrt, dann fuhrt dies zu einem impliziten Aufruf von pthread_exit(), wobei der Ruckgabewert der Funktion als Exit-Status des Threads verwandt wird. Um anderen Threads die Fortfuhrung der Ausfuhrung zu erlauben, sollte sich der Haupt-Thread durch Aufruf von pthread_exit() anstelle von exit(3) beenden. Der Wert, auf den ruckwert zeigt, sollte sich nicht auf dem Stapel des aufrufenden Threads befinden, da der Inhalt dieses Stapels nach der Beendigung des Threads undefiniert ist. FEHLER Derzeit gibt es Beschrankungen in der Kernel-Implementierungslogik fur ein wait(2) bei einer angehaltenen Thread-Gruppe mit einem toten Thread-Gruppenleiter. Dies kann sich in Problemen wie einem gesperrten Terminal aussern, falls ein Stopp-Signal an einen Vordergrundprozess gesandt wird, dessen Thread-Gruppenleiter bereits pthread_exit() aufgerufen hat. SIEHE AUCH pthread_create(3), pthread_join(3), pthreads(7) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 <https://www.gnu.org/licenses/gpl-3.0.html> oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer <debian-l10n-german@lists.debian.org>. Linux man-pages 6.12 23. Juli 2024 pthread_exit(3)