JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... 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 がプロセスに配送されると、以下のいずれかが発生する。 * 処理方法が SIG_ ... 初に処理方法が 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 ... ... s to be blocked in handler */ int sv_flags; /* Flags */ }; sv_handler フィールドはシグナルの動作を指定するもので、 シグナルハンドラー関数のアドレスか、 SIG_DFL と SIG_IGN のいずれかを指定できる。 SIG_DFL はシグナルに適用されるデフォルトの動作を意味し、 SIG_ ... 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 はシグナルに適用されるデフォルトの動作を意味し、 SIG_ ... 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 はシグナルに適用されるデフォルトの動作を意味し、 SIG_ ... 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 はシグナルに適用されるデフォルトの動作を意味し、 SIG_ ... IGN はシグナルを無視することを意味する。 sv_handler にシグナルハンドラーのアドレスを指定した場合、 sv_mask はハンドラーが実行中にブロックされるべきシグナルのマスクを指定する。 また、ハンドラーを起 ... たシグナル自身はブロックされる。 SIGKILL か SIGSTOP をブロックしようとした場合には、黙って無視される。 sv_handler にシグナルハンドラーのアドレスを指定した場合、 sv_flags フィールドはハンドラーが呼ばれた際の挙動を制御するフラグを指定する。 このフィールドには、 ... ... ck () を使うと、 プロセスは新しい代替シグナルスタックを定義したり、 既存の代替シグナルスタックの状態を取得できる。 シグナルハンドラーが代替シグナルスタックを要求するように設定されていると ( sigaction (2) 参照)、ハンドラーの実行中はそのシグナルスタックが使わ ... する。 2. sigaltstack () を使って、 代替シグナルスタックの存在と場所をシステムに知らせる。 3. sigaction (2) を使ってシグナルハンドラーを確立する際、 SA_ONSTACK フラグを指定することにより、 そのシグナルハンドラーを代替シグナルスタック上で実行することを システ ... 数 SIGSTKSZ は、代替シグナルスタックが通常必要する サイズよりも充分大きく定義されている。 また定数 MINSIGSTKSZ は、 シグナルハンドラーの実行に必要な最小サイズに定義されている。 代替スタックでシグナルハンドラーが起動された場合には、 カーネルにより自動的に、 s ... ... s to be blocked in handler */ int sv_flags; /* Flags */ }; sv_handler フィールドはシグナルの動作を指定するもので、 シグナルハンドラー関数のアドレスか、 SIG_DFL と SIG_IGN のいずれかを指定できる。 SIG_DFL はシグナルに適用されるデフォルトの動作を意味し、 SIG_ ... IGN はシグナルを無視することを意味する。 sv_handler にシグナルハンドラーのアドレスを指定した場合、 sv_mask はハンドラーが実行中にブロックされるべきシグナルのマスクを指定する。 また、ハンドラーを起 ... たシグナル自身はブロックされる。 SIGKILL か SIGSTOP をブロックしようとした場合には、黙って無視される。 sv_handler にシグナルハンドラーのアドレスを指定した場合、 sv_flags フィールドはハンドラーが呼ばれた際の挙動を制御するフラグを指定する。 このフィールドには、 ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。