JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... e ); -pthread を付けてコンパイルとリンクを行う。 glibc 向けの機能検査マクロの要件 ( feature_test_macros (7) 参照): pthread_sigqueue (): _GNU_SOURCE 説明 pthread_sigqueue () 関数は sigqueue (3) と同様の処理を実行するが、 プロセスにシグナルを送信するのでは ... スのスレッドの ID である。 sig 引数は送信するシグナルを指定する。 value 引数はシグナルと一緒に渡すデータを指定する。 詳細は sigqueue (3) を参照。 返り値 成功すると、 pthread_sigmask () は 0 を返す。 エラーの場合、エラー番号を返す。 エラー EAGAIN キューに入 ... れられるシグナル数が上限に達していた (詳しい情報は ( signal (7) を参照)。 EINVAL sig が無効であった。 ENOSYS pthread_sigqueue () がこのシステムではサポートされていない。 ESRCH thread が無効である。 バージョン pthread_sigqueue () 関数は glibc 2.11 で ... ... 能検査マクロの要件 ( feature_test_macros (7) 参照): sigqueue (): _POSIX_C_SOURCE >= 199309L 説明 sigqueue () は sig で指定されたシグナルを、PID が pid であるプロセスに送る。 シグナルを ... ドによって、このデータを取得できる。 さらに、この構造体の si_code フィールドは SI_QUEUE に設定される。 返り値 成功した場合、 sigqueue () は 0 を返す。 これは受け取り側プロセスの待ち行列に シグナルが正しく入れられたことを示す。 失敗した場合は -1 が返され、 ... を送る権限がない。 必要な権限については、 kill (2) を参照すること。 ESRCH pid にマッチする PID のプロセスがない。 バージョン sigqueue () とその裏で使われる rt_sigqueueinfo () システムコールは Linux 2.2 で初めて登場した。 属性 この節で使用されている用語の説 ... ... 指定されたプロセス内の指定されたスレッドにシグナルを送る (このシステムコールを使って pthread_kill (3) は実装されている)。 sigqueue (3) 指定されたプロセスに付属データとともにリアルタイムシグナルを送る。 シグナルが捕捉されるのを待つ 以下のシステムコールを ... cause it was generated by the kernel for reasons other than a hardware exception, or because it was sent using kill (2) or sigqueue (3). A thread-directed signal is one that is targeted at a specific thread. A signal may be thread-directed because it was ... グナルがブロックされている間に 同じシグナルの複数のインスタンスが配送されても、 1 つだけがキューに入れられる。 2. シグナルが sigqueue (3) を用いて送信された場合、 付属データ (整数かポインター) をシグナルと共に送信できる。 受信側プロセスが sigaction (2) に ... ... になっているかもしれない。 その場合は該当するシグナルにおいて意味のあるフィールドのみを読み込む ことができる。 * kill (2) や sigqueue (3) で送信されたシグナルでは si_pid と si_uid が設定される。 さらに、 sigqueue (3) で送信されたシグナルでは si_int と si_p ... id にシグナルの送信者により指定された値が設定される。詳細は sigqueue (3) を参照。 * POSIX.1b タイマー (Linux 2.6 以降) は si_overrun と si_timerid を設定する。 si_timerid フィールドはカーネル ... si_code に入りうる。シグナルが生成された理由も記載している。 SI_USER kill (2) SI_KERNEL カーネルにより送信された SI_QUEUE sigqueue (3) SI_TIMER POSIX タイマーが満了した SI_MESGQ (Linux 2.6.6 以降) POSIX メッセージキューの状態が変化した; mq_notify (3) 参 ... ... になっているかもしれない。 その場合は該当するシグナルにおいて意味のあるフィールドのみを読み込む ことができる。 * kill (2) や sigqueue (3) で送信されたシグナルでは si_pid と si_uid が設定される。 さらに、 sigqueue (3) で送信されたシグナルでは si_int と si_p ... id にシグナルの送信者により指定された値が設定される。詳細は sigqueue (3) を参照。 * POSIX.1b タイマー (Linux 2.6 以降) は si_overrun と si_timerid を設定する。 si_timerid フィールドはカーネル ... si_code に入りうる。シグナルが生成された理由も記載している。 SI_USER kill (2) SI_KERNEL カーネルにより送信された SI_QUEUE sigqueue (3) SI_TIMER POSIX タイマーが満了した SI_MESGQ (Linux 2.6.6 以降) POSIX メッセージキューの状態が変化した; mq_notify (3) 参 ... ... クは保持される。 シグナル SIGBUS , SIGFPE , SIGILL , SIGSEGV が禁止されている間に生成された場合で、 そのシグナルが kill (2), sigqueue (3), raise (3) によって生成されたものでないときには、 その後の動作は未定義である。 シグナル集合の操作に関する詳細は sigset ... provides it. 関連項目 kill (2), pause (2), sigaction (2), signal (2), sigpending (2), sigsuspend (2), pthread_sigmask (3), sigqueue (3), sigsetops (3), signal (7) この文書について この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である ... ... クは保持される。 シグナル SIGBUS , SIGFPE , SIGILL , SIGSEGV が禁止されている間に生成された場合で、 そのシグナルが kill (2), sigqueue (3), raise (3) によって生成されたものでないときには、 その後の動作は未定義である。 シグナル集合の操作に関する詳細は sigset ... provides it. 関連項目 kill (2), pause (2), sigaction (2), signal (2), sigpending (2), sigsuspend (2), pthread_sigmask (3), sigqueue (3), sigsetops (3), signal (7) この文書について この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である ... ... /* シグナルの原因となったトラップ番号 */ int32_t ssi_status; /* 終了ステータスかシグナル (SIGCHLD) */ int32_t ssi_int; /* sigqueue (3) から送られた整数 */ uint64_t ssi_ptr; /* sigqueue (3) から送られたポインター */ uint64_t ssi_utime; /* 消費したユーザー ... 降では、 signalfd () のラッパー関数は、 signalfd4 () が利用可能であれば、これを使用する。 バグ カーネル 2.6.25 より前では、 sigqueue (3) により送信されたシグナルと一緒に渡されるデータでは、フィールド ssi_ptr と ssi_int は設定されない。 例 下記のプログラム ... ... /* シグナルの原因となったトラップ番号 */ int32_t ssi_status; /* 終了ステータスかシグナル (SIGCHLD) */ int32_t ssi_int; /* sigqueue (3) から送られた整数 */ uint64_t ssi_ptr; /* sigqueue (3) から送られたポインター */ uint64_t ssi_utime; /* 消費したユーザー ... 降では、 signalfd () のラッパー関数は、 signalfd4 () が利用可能であれば、これを使用する。 バグ カーネル 2.6.25 より前では、 sigqueue (3) により送信されたシグナルと一緒に渡されるデータでは、フィールド ssi_ptr と ssi_int は設定されない。 例 下記のプログラム ... ... その他の情報も表示する (例えば、ハードウェアが発生したシグナルの関連メモリーアドレス、 SIGCHLD の子プロセス ID、 kill (2) や sigqueue (3) を使って送信されたシグナルの送信元プロセスのユーザー ID とプロセス ID など)。 返り値 関数 psignal () と psiginfo () は ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。