Man page - sigevent(7)

Packages contains this manual

Available languages:

en ja

Manual

SIGEVENT

名 前
書 åŧ
čĒŦ 明
é–ĸ 逪 項 į›Ž
こ ぎ 文 書 ãĢ つ い ãĻ

名 前

sigevent - 非 同 期 ãƒĢ ãƒŧ チ ãƒŗ か ら ぎ 通 įŸĨ ᔍ ぎ 構 造 äŊ“

書 åŧ

#include <signal.h>

union sigval { /* Data passed with notification */
int sival_int; /* Integer value */
void *sival_ptr; /* Pointer value */
};

struct sigevent {
int sigev_notify; /* Notification method */
int sigev_signo; /* Notification signal */
union sigval sigev_value;
/* Data passed with notification */
void (*sigev_notify_function) (union sigval);
/* Function used for thread
notification (SIGEV_THREAD) */
void *sigev_notify_attributes;
/* Attributes for notification thread
(SIGEV_THREAD) */
pid_t sigev_notify_thread_id;
/* ID of thread to signal
(SIGEV_THREAD_ID); Linux-specific */
};

čĒŦ 明

sigevent 構 造 äŊ“ は 、 イ ベ ãƒŗ ト ãĢ é–ĸ す る 情 å ą を プ ロ ã‚ģ ゚ ãĢ 通 įŸĨ す る た め ãĢ 様 々 ãĒ API で äŊŋ ᔍ さ れ る (イ ベ ãƒŗ ト ぎ 例 と し ãĻ は 、 非 同 期 å‡Ļ ᐆ čρ æą‚ ぎ 厌 äē† ã€ ã‚ŋ イ マ ãƒŧ ぎ æē€ äē† ã€ ãƒĄ ッ ã‚ģ ãƒŧ ジ ぎ 到 į€ ãĒ お )。

「 書 åŧ 」 ãĢ 記 čŧ‰ さ れ ãĻ い る 厚 įžŠ は お お よ そ ぎ も ぎ で あ る 。 sigevent 構 造 äŊ“ ぎ い く つ か ぎ フ ã‚Ŗ ãƒŧ ãƒĢ ド は 、 å…ą ᔍ äŊ“ ぎ 一 部 と し ãĻ 厚 įžŠ さ れ ãĻ い る も ぎ も あ る 。 プ ロ グ ナ ム は 、 sigev_notify で 指 厚 さ れ た 値 ãĢ åŋœ じ た フ ã‚Ŗ ãƒŧ ãƒĢ ド だ け を 刊 ᔍ す ず き で あ る 。

sigev_notify フ ã‚Ŗ ãƒŧ ãƒĢ ド は 、 通 įŸĨ を お ぎ よ う ãĢ å‡Ļ ᐆ す ず き か を 指 厚 す る 。 こ ぎ フ ã‚Ŗ ãƒŧ ãƒĢ ド は 、 äģĨ 下 ぎ い ず れ か ぎ 値 で あ る 。
SIGEV_NONE

「 įŠē (null)」 ぎ 通 įŸĨ 。 イ ベ ãƒŗ ト が į™ē į”Ÿ 時 ãĢ は äŊ• も し ãĒ い こ と 。

SIGEV_SIGNAL

sigev_signo で 指 厚 さ れ た ã‚ˇ グ ナ ãƒĢ を 送 äŋĄ す る こ と で 、 プ ロ ã‚ģ ゚ へ ぎ 通 įŸĨ を 行 う 。

sigaction (2) ぎ SA_SIGINFO フ ナ グ を äŊŋ ãŖ た į™ģ 錞 さ れ た ã‚ˇ グ ナ ãƒĢ ハ ãƒŗ ド ナ ãƒŧ ãĢ よ り ã‚ˇ グ ナ ãƒĢ が 捕 捉 さ れ る と 、 ã‚ˇ グ ナ ãƒĢ ハ ãƒŗ ド ナ ãƒŧ ぎ 2 į•Ē į›Ž ぎ åŧ• 数 と し ãĻ æ¸Ą さ れ た siginfo_t 構 造 äŊ“ ぎ äģĨ 下 ぎ フ ã‚Ŗ ãƒŧ ãƒĢ ド が 設 厚 さ れ る 。

si_code

こ ぎ フ ã‚Ŗ ãƒŧ ãƒĢ ド ãĢ は 通 įŸĨ を 配 送 し た API ãĢ åŋœ じ た æąē ぞ る 値 が 設 厚 さ れ る 。

si_signo

こ ぎ フ ã‚Ŗ ãƒŧ ãƒĢ ド ãĢ は ã‚ˇ グ ナ ãƒĢ į•Ē åˇ (す ãĒ わ ãĄ sigev_signo と 同 じ 値 ) が 設 厚 さ れ る 。

si_value

こ ぎ フ ã‚Ŗ ãƒŧ ãƒĢ ド ãĢ は sigev_value で 指 厚 さ れ た 値 が 設 厚 さ れ る 。

API ãĢ よ ãŖ ãĻ は siginfo_t 構 造 äŊ“ ぎ äģ– ãŽ フ ã‚Ŗ ãƒŧ ãƒĢ ド が 設 厚 さ れ る å ´ 合 も あ る 。

ã‚ˇ グ ナ ãƒĢ を 受 け 取 ãŖ た と き ãĢ は sigwaitinfo (2) で も 同 じ 情 å ą が åž— ら れ る 。

SIGEV_THREAD

「 あ た か も 」 新 し い ゚ ãƒŦ ッ ド ã‚ģ ãƒŧ フ ぎ 開 始 é–ĸ 数 で あ る か ぎ よ う ãĢ sigev_notify_function を čĩˇ 動 す る こ と で 、 プ ロ ã‚ģ ゚ へ ぎ 通 įŸĨ を 行 う (原 čŖ… ぎ 可 čƒŊ 性 と し ãĻ は 、 ã‚ŋ イ マ ãƒŧ 通 įŸĨ ぎ åēĻ ãĢ 新 し い ゚ ãƒŦ ッ ド ã‚ģ ãƒŧ フ が äŊœ 成 さ れ る å ´ 合 も 、 一 つ ぎ ゚ ãƒŦ ッ ド を äŊœ 成 し ãĻ す ず ãĻ ぎ 通 įŸĨ を 受 äŋĄ す る å ´ 合 も あ る )。 こ ぎ é–ĸ 数 は sigev_value を 唯 一 ぎ åŧ• 数 と し ãĻ čĩˇ 動 さ れ る 。 sigev_notify_attributes は 、 NULL äģĨ 外 ぎ å ´ 合 は 、 新 し い ゚ ãƒŦ ッ ド ã‚ģ ãƒŧ フ ぎ åąž 性 を 厚 įžŠ す る pthread_attr_t 構 造 äŊ“ を 指 し ãĻ い ãĒ け れ ば ãĒ ら ãĒ い ( pthread_attr_init (3) 参 į…§ )。

SIGEV_THREAD_ID (Linux å›ē 有 )

įž 在 ぎ と こ ろ POSIX で ぎ ãŋ äŊŋ ᔍ さ れ ãĻ い る 。 timer_create (2) 参 į…§ 。

é–ĸ 逪 項 į›Ž

timer_create (2), aio_fsync (3), aio_read (3), aio_write (3), getaddrinfo_a (3), lio_listio (3), mq_notify (3), aio (7), pthreads (7)

こ ぎ 文 書 ãĢ つ い ãĻ

こ ぎ man ペ ãƒŧ ジ は Linux man-pages プ ロ ジ ェ ク ト ぎ ãƒĒ ãƒĒ ãƒŧ ゚ 5.10 ぎ 一 部 で あ る 。 プ ロ ジ ェ ク ト ぎ čĒŦ 明 と バ グ å ą 告 ãĢ é–ĸ す る 情 å ą は https://www.kernel.org/doc/man-pages/ ãĢ 書 か れ ãĻ い る 。