thrd_exit
|
Definiert im Header
<threads.h>
|
||
|
_Noreturn
void
thrd_exit
(
int
res
)
;
|
(seit C11)
(bis C23) |
|
|
[
[
noreturn
]
]
void
thrd_exit
(
int
res
)
;
|
(seit C23) | |
Zunächst setzt
thrd_exit
für jeden threadspezifischen Speicherschlüssel, der mit einem nicht-NULL-Destruktor erstellt wurde und dessen assoziierter Wert nicht NULL ist (siehe
tss_create
),
den mit dem Schlüssel assoziierten Wert auf
NULL
und ruft dann den Destruktor mit dem vorherigen Wert des Schlüssels auf. Die Reihenfolge, in der die Destruktoren aufgerufen werden, ist nicht spezifiziert.
Wenn danach noch Schlüssel mit sowohl nicht-null Destruktoren als auch Werten verbleiben (z.B. wenn ein Destruktor tss_set ausgeführt hat), wird der Prozess bis zu TSS_DTOR_ITERATIONS Mal wiederholt.
Schließlich beendet die
thrd_exit
-Funktion die Ausführung des aufrufenden Threads und setzt seinen Ergebniscode auf
res
.
Wenn der letzte Thread im Programm mit
thrd_exit
beendet wird, wird das gesamte Programm beendet, als ob
exit
mit
EXIT_SUCCESS
als Argument aufgerufen worden wäre (sodass die durch
atexit
registrierten Funktionen im Kontext dieses letzten Threads ausgeführt werden).
Inhaltsverzeichnis |
Parameter
| res | - | der zurückzugebende Ergebniswert |
Rückgabewert
(keine)
Referenzen
- C17-Standard (ISO/IEC 9899:2018):
-
- 7.26.5.5 Die thrd_exit-Funktion (S: 280)
- C11-Standard (ISO/IEC 9899:2011):
-
- 7.26.5.5 Die thrd_exit-Funktion (S: 384)
Siehe auch
|
(C11)
|
blockiert bis ein Thread terminiert
(Funktion) |
|
(C11)
|
trennt einen Thread
(Funktion) |