tail head cat sleep
QR code linking to this page

manページ  — PTHREAD_ONCE

名称

pthread_once – 動的なパッケージの初期化

内容

ライブラリ

Reentrant C\~Library (libc_r, -lc_r)

書式

#include <pthread.h>

pthread_once_t once_control = PTHREAD_ONCE_INIT;
int
pthread_once(pthread_once_t *once_control, void (*init_routine)(void));

解説

プロセスの全てのスレッドによる最初の、与えられた once_control を伴っての pthread_once() の呼び出しは、 init_routine() を引数無しで呼び出します。 その後での同じ once_control を持つ pthread_once() の呼び出しは、 init_routine() を呼び出しません。 pthread_once() から戻る時点では、 init_routine() が完了していることが保証されています。 once_control パラメータは、関連付けられた初期化ルーチンが既に呼び出されたかどうかを 判断するために使用されます。

関数 pthread_once() は取り消しポイントではありません。 しかしながら、 init_routine() が取り消しポイントですので取り消され、 once_controlpthread_once() が一度も呼び出されていないかのような結果になります。

定数 PTHREAD_ONCE_INIT は、 < pthread.h> で定義されています。

once_control に自動保存期間がある、または PTHREAD_ONCE_INIT で初期化されていない場合には、 pthread_once() の動作は未定義です。

戻り値

問題がない場合は、 pthread_once() 関数は 0 を返します。 問題がある場合は、そのエラーを示すためにエラー番号が返されます。

エラー

ありません。

規格

pthread_once()IEEE Std 1003.1-96 ("POSIX.1") に適合しています。

PTHREAD_ONCE (3) April 4, 1996

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.