thrd_exit
|
定義済みヘッダ
<threads.h>
|
||
|
_Noreturn
void
thrd_exit
(
int
res
)
;
|
(C11以降)
(C23以前) |
|
|
[
[
noreturn
]
]
void
thrd_exit
(
int
res
)
;
|
(C23以降) | |
まず、非NULLのデストラクタで作成され、かつ関連付けられた値が非NULLであるすべてのスレッド固有ストレージキーについて(
tss_create
参照)、
thrd_exit
はキーに関連付けられた値を
NULL
に設定し、その後デストラクタをキーの前の値で呼び出します。デストラクタが呼び出される順序は未規定です。
この後も、非NULLのデストラクタと値を持つキーが残っている場合(例えば、デストラクタが tss_set を実行した場合)、このプロセスは最大 TSS_DTOR_ITERATIONS 回まで繰り返されます。
最後に、
thrd_exit
関数は呼び出しスレッドの実行を終了し、その結果コードを
res
に設定します。
プログラムの最後のスレッドが
thrd_exit
で終了した場合、
exit
を
EXIT_SUCCESS
を引数として呼び出したかのようにプログラム全体が終了します(そのため、
atexit
で登録された関数はその最後のスレッドのコンテキストで実行されます)
目次 |
パラメータ
| res | - | 返される結果値 |
戻り値
(なし)
参考文献
- C17規格 (ISO/IEC 9899:2018):
-
- 7.26.5.5 thrd_exit関数 (p: 280)
- C11標準 (ISO/IEC 9899:2011):
-
- 7.26.5.5 thrd_exit関数 (p: 384)
関連項目
|
(C11)
|
スレッドが終了するまでブロックする
(関数) |
|
(C11)
|
スレッドをデタッチする
(関数) |