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)