JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... ild )(void)); 説明 pthread_atfork は fork (2) によって新しいプロセスが生成される際、その直前と直後に呼び出される ハンドラ関数を登録する。 prepare ハンドラは、新しいプロセスが生成される直前に親プロセスから 呼び出される。 parent ハンドラは、 fork ... (2) がリターンする直前に親プロセスから呼び出される。 child ハンドラは fork (2) が返る直前に子プロセスから呼び出される。 prepare , parent および child の三つのハンドラのうちの一つまたは複数に ... NULL を与えることができるが、これは対応する時点でいかなるハンドラをも 呼び出す必要がないことを意味する。 pthread_atfork は複数のハンドラの組合せを登録するために複数回 呼び出すことが可能であ ... ... ute ); -pthread でコンパイルしてリンクする。 説明 これらの関数は、呼び出したスレッドのスレッドキャンセル時のクリーンアッ プハンドラーのスタックの操作を行う。クリーンアップハンドラーは、スレッドが キャンセルされた場合 (や以下で説明する他の種々の状況において ... セス内の 他のスレッドが利用できるようにする関数などが考えられる。 pthread_cleanup_push () 関数は、 routine をクリーンアップ ハンドラーのスタックの一番上にプッシュする。 routine が後で 起動される際には、 arg が関数の引数と渡される。 pthread_cleanup_pop () 関 ... 数は、クリーンアップハンドラーの スタックの一番上のルーチンを削除する。 execute が 0 以外の場合にはそのルーチンを追加で実行する。 キャンセルクリーンアッ ... ... ute ); -pthread でコンパイルしてリンクする。 説明 これらの関数は、呼び出したスレッドのスレッドキャンセル時のクリーンアッ プハンドラーのスタックの操作を行う。クリーンアップハンドラーは、スレッドが キャンセルされた場合 (や以下で説明する他の種々の状況において ... セス内の 他のスレッドが利用できるようにする関数などが考えられる。 pthread_cleanup_push () 関数は、 routine をクリーンアップ ハンドラーのスタックの一番上にプッシュする。 routine が後で 起動される際には、 arg が関数の引数と渡される。 pthread_cleanup_pop () 関 ... 数は、クリーンアップハンドラーの スタックの一番上のルーチンを削除する。 execute が 0 以外の場合にはそのルーチンを追加で実行する。 キャンセルクリーンアッ ... ... はシグナル signum の処理方法を handler に設定する。 handler には、 SIG_IGN 、 SIG_DFL 、 プログラマが定義した関数 (「シグナルハンドラー」) のアドレスの いずれかを指定する。 シグナル signum がプロセスに配送されると、以下のいずれかが発生する。 * 処理方法が SI ... 初に処理方法が SIG_DFL にリセットされるかそのシグナルのブロックが実行された後、 signum を引数として handler が呼び出される。 ハンドラーが起動される際にシグナルがブロックされた場合、 ハンドラーが返る際にそのシグナルのブロックが解除される。 シグナル SIGKILL と ... SIGSTOP は捕捉できず、無視することもできない。 返り値 signal () は、今までのシグナルハンドラーの値を返す。 エラーの場合は SIG_ERR を返し、 errno にエラーの原因を示す値を設定する。 エラー EINVAL signum が不正である。 ... ... ck () を使うと、 プロセスは新しい代替シグナルスタックを定義したり、 既存の代替シグナルスタックの状態を取得できる。 シグナルハンドラーが代替シグナルスタックを要求するように設定されていると ( sigaction (2) 参照)、ハンドラーの実行中はそのシグナルスタックが使 ... する。 2. sigaltstack () を使って、 代替シグナルスタックの存在と場所をシステムに知らせる。 3. sigaction (2) を使ってシグナルハンドラーを確立する際、 SA_ONSTACK フラグを指定することにより、 そのシグナルハンドラーを代替シグナルスタック上で実行することを シス ... 数 SIGSTKSZ は、代替シグナルスタックが通常必要する サイズよりも充分大きく定義されている。 また定数 MINSIGSTKSZ は、 シグナルハンドラーの実行に必要な最小サイズに定義されている。 代替スタックでシグナルハンドラーが起動された場合には、 カーネルにより自動的に、 ... ... s to be blocked in handler */ int sv_flags; /* Flags */ }; sv_handler フィールドはシグナルの動作を指定するもので、 シグナルハンドラー関数のアドレスか、 SIG_DFL と SIG_IGN のいずれかを指定できる。 SIG_DFL はシグナルに適用されるデフォルトの動作を意味し、 SI ... G_IGN はシグナルを無視することを意味する。 sv_handler にシグナルハンドラーのアドレスを指定した場合、 sv_mask はハンドラーが実行中にブロックされるべきシグナルのマスクを指定する。 また、ハンドラーを ... たシグナル自身はブロックされる。 SIGKILL か SIGSTOP をブロックしようとした場合には、黙って無視される。 sv_handler にシグナルハンドラーのアドレスを指定した場合、 sv_flags フィールドはハンドラーが呼ばれた際の挙動を制御するフラグを指定する。 このフィールドには ... ... s to be blocked in handler */ int sv_flags; /* Flags */ }; sv_handler フィールドはシグナルの動作を指定するもので、 シグナルハンドラー関数のアドレスか、 SIG_DFL と SIG_IGN のいずれかを指定できる。 SIG_DFL はシグナルに適用されるデフォルトの動作を意味し、 SI ... G_IGN はシグナルを無視することを意味する。 sv_handler にシグナルハンドラーのアドレスを指定した場合、 sv_mask はハンドラーが実行中にブロックされるべきシグナルのマスクを指定する。 また、ハンドラーを ... たシグナル自身はブロックされる。 SIGKILL か SIGSTOP をブロックしようとした場合には、黙って無視される。 sv_handler にシグナルハンドラーのアドレスを指定した場合、 sv_flags フィールドはハンドラーが呼ばれた際の挙動を制御するフラグを指定する。 このフィールドには ... ... s to be blocked in handler */ int sv_flags; /* Flags */ }; sv_handler フィールドはシグナルの動作を指定するもので、 シグナルハンドラー関数のアドレスか、 SIG_DFL と SIG_IGN のいずれかを指定できる。 SIG_DFL はシグナルに適用されるデフォルトの動作を意味し、 SI ... G_IGN はシグナルを無視することを意味する。 sv_handler にシグナルハンドラーのアドレスを指定した場合、 sv_mask はハンドラーが実行中にブロックされるべきシグナルのマスクを指定する。 また、ハンドラーを ... たシグナル自身はブロックされる。 SIGKILL か SIGSTOP をブロックしようとした場合には、黙って無視される。 sv_handler にシグナルハンドラーのアドレスを指定した場合、 sv_flags フィールドはハンドラーが呼ばれた際の挙動を制御するフラグを指定する。 このフィールドには ... ... s to be blocked in handler */ int sv_flags; /* Flags */ }; sv_handler フィールドはシグナルの動作を指定するもので、 シグナルハンドラー関数のアドレスか、 SIG_DFL と SIG_IGN のいずれかを指定できる。 SIG_DFL はシグナルに適用されるデフォルトの動作を意味し、 SI ... G_IGN はシグナルを無視することを意味する。 sv_handler にシグナルハンドラーのアドレスを指定した場合、 sv_mask はハンドラーが実行中にブロックされるべきシグナルのマスクを指定する。 また、ハンドラーを ... たシグナル自身はブロックされる。 SIGKILL か SIGSTOP をブロックしようとした場合には、黙って無視される。 sv_handler にシグナルハンドラーのアドレスを指定した場合、 sv_flags フィールドはハンドラーが呼ばれた際の挙動を制御するフラグを指定する。 このフィールドには ... ... ck () を使うと、 プロセスは新しい代替シグナルスタックを定義したり、 既存の代替シグナルスタックの状態を取得できる。 シグナルハンドラーが代替シグナルスタックを要求するように設定されていると ( sigaction (2) 参照)、ハンドラーの実行中はそのシグナルスタックが使 ... する。 2. sigaltstack () を使って、 代替シグナルスタックの存在と場所をシステムに知らせる。 3. sigaction (2) を使ってシグナルハンドラーを確立する際、 SA_ONSTACK フラグを指定することにより、 そのシグナルハンドラーを代替シグナルスタック上で実行することを シス ... 数 SIGSTKSZ は、代替シグナルスタックが通常必要する サイズよりも充分大きく定義されている。 また定数 MINSIGSTKSZ は、 シグナルハンドラーの実行に必要な最小サイズに定義されている。 代替スタックでシグナルハンドラーが起動された場合には、 カーネルにより自動的に、 ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。