名 前
pthread_attr_setdetachstate, pthread_attr_getdetachstate − ス レ ッ ド 属 性 オ ブ ジ ェ ク ト の detach state 属 性 の 設 定 /取 得 を 行 う
書 式
#include <pthread.h>
int
pthread_attr_setdetachstate(pthread_attr_t
*attr, int detachstate);
int pthread_attr_getdetachstate(const pthread_attr_t
*attr, int
*detachstate);
−pthread で コ ン パ イ ル し て リ ン ク す る 。
説 明
pthread_attr_setdetachstate() 関 数 は 、 attr が 参 照 す る ス レ ッ ド 属 性 オ ブ ジ ェ ク ト の detach state 属 性 を detachstate で 指 定 さ れ た 値 に 設 定 す る 。 detach state 属 性 に よ り 、 ス レ ッ ド 属 性 オ ブ ジ ェ ク ト attr を 使 っ て 作 成 さ れ る ス レ ッ ド が 、 join 可 能 な 状 態 で 作 成 さ れ る か 、 detached (切 り 離 さ れ た ) 状 態 で 作 成 さ れ る か が 決 定 さ れ る 。
detachstate
に は 以 下 の 値
を 指 定 で き る
。
PTHREAD_CREATE_DETACHED
attr を 使 っ て 作 成 さ れ る ス レ ッ ド は detached 状 態 で 作 成 さ れ る 。
PTHREAD_CREATE_JOINABLE
attr を 使 っ て 作 成 さ れ る ス レ ッ ド は join 可 能 な 状 態 で 作 成 さ れ る 。 新 規 に 初 期 化 さ れ た ス レ ッ ド 属 性 オ ブ ジ ェ ク ト の detach state 属 性 の デ フ ォ ル ト 設 定 は PTHREAD_CREATE_JOINABLE で あ る 。
pthread_attr_getdetachstate() は 、 ス レ ッ ド 属 性 オ ブ ジ ェ ク ト attr の detach state 属 性 を detachstate が 指 す バ ッ フ ァ ー に 入 れ て 返 す 。
返 り 値
成 功 す る と 、 こ れ ら の 関 数 は 0 を 返 す 。 エ ラ ー の 場 合 、 0 以 外 の エ ラ ー 番 号 を 返 す 。
エ ラ ー
pthread_attr_setdetachstate() は 以 下 の エ ラ ー で 失 敗 す る 場 合 が あ る 。
EINVAL 無 効 な 値 が |
detachstate で 指 定 さ れ た 。 |
属 性
マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 ) 関 数 pthread_attr_setdetachstate() と pthread_attr_getdetachstate() は ス レ ッ ド セ ー フ で あ る 。
準 拠
POSIX.1−2001.
注 意
detached 状 態 の ス レ ッ ド 、 join 可 能 状 態 の ス レ ッ ド の 詳 細 に つ い て は 、 pthread_create(3) を 参 照 。
join 可 能 状 態 で 作 成 さ れ た ス レ ッ ド は 、 最 終 的 に pthread_join(3) を 使 っ て join す る か 、 pthread_detach(3) を 使 っ て 切 り 離 す か 、 の ど ち ら か を 行 う べ き で あ る 。
detached 状 態 で 作 成 さ れ た ス レ ッ ド の ス レ ッ ド ID を 指 定 し て 、 pthread_detach(3) や pthread_join(3) を 後 か ら 呼 び 出 す の は エ ラ ー で あ る 。
例
pthread_attr_init(3) を 参 照 。
関 連 項 目
pthread_attr_init(3), pthread_create(3), pthread_detach(3), pthread_join(3), pthreads(7)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。