sigqueue

Autres langues

Langue: ja

Autres versions - même langue

Version: 2004-06-16 (openSuse - 09/10/07)

Section: 2 (Appels système)

̾Á°

sigqueue - ¥·¥°¥Ê¥ë¤È¥Ç¡¼¥¿¤ò¥×¥í¥»¥¹¤ËÁ÷¤ë

½ñ¼°

#include <signal.h>

int sigqueue(pid_t pid, int sig, const union sigval value);

ÀâÌÀ

sigqueue() ¤Ï sig ¤Ç»ØÄꤵ¤ì¤¿¥·¥°¥Ê¥ë¤ò¡¢PID ¤¬ pid ¤Ç¤¢¤ë¥×¥í¥»¥¹¤ËÁ÷¤ë¡£ ¥·¥°¥Ê¥ë¤òÁ÷¤ë¤Î¤ËɬÍפʸ¢¸Â¤Ï kill(2) ¤ÈƱ¤¸¤Ç¤¢¤ë¡£ kill(2) ¤ÈƱÍͤˡ¢¥Ì¥ë¡¦¥·¥°¥Ê¥ë (0) ¤ò»È¤Ã¤Æ »ØÄꤷ¤¿ PID ¤Î¥×¥í¥»¥¹¤¬Â¸ºß¤¹¤ë¤«¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

value °ú¤­¿ô¤Ï¥·¥°¥Ê¥ë¤È°ì½ï¤ËÁ÷¤ë¥Ç¡¼¥¿¤ÎÉÕ°¥¢¥¤¥Æ¥à¤ò»ØÄꤹ¤ë¡£ value ¤Ï (À°¿ô¤Þ¤¿¤Ï¥Ý¥¤¥ó¥¿¤ÎÃͤǤ¢¤ê) °Ê²¼¤Î¤è¤¦¤Ê·¿¤Ç¤¢¤ë¡£


union sigval {

    int   sival_int;

    void *sival_ptr;

};

¼õ¼èÀè¤Î¥×¥í¥»¥¹¤Ë¡¢¤³¤Î¥·¥°¥Ê¥ë¤ËÂФ¹¤ë¥Ï¥ó¥É¥é¤ò (sigaction(2) ¤Ë SA_SIGINFO ¤ò»ØÄꤷ¤Æ) ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤ª¤¯¤È¡¢ ¤½¤Î¥Ï¥ó¥É¥é¤ÎÂè 2 °ú¤­¿ô¤ËÅϤµ¤ì¤ë siginfo_t ¹½Â¤ÂΤΠsi_value ¥Õ¥£¡¼¥ë¥É¤Ë¤è¤Ã¤Æ¡¢¤³¤Î¥Ç¡¼¥¿¤ò¼èÆÀ¤Ç¤­¤ë¡£ ¤µ¤é¤Ë¡¢¤³¤Î¹½Â¤ÂΤΠsi_code ¥Õ¥£¡¼¥ë¥É¤Ï SI_QUEUE ¤ËÀßÄꤵ¤ì¤ë¡£

ÊÖ¤êÃÍ

À®¸ù¤·¤¿¾ì¹ç¡¢ sigqueue() ¤Ï 0 ¤òÊÖ¤¹¡£ ¤³¤ì¤Ï¼õ¤±¼è¤ê¦¥×¥í¥»¥¹¤ÎÂÔ¤Á¹ÔÎó¤Ë ¥·¥°¥Ê¥ë¤¬Àµ¤·¤¯Æþ¤ì¤é¤ì¤¿¤³¤È¤ò¼¨¤¹¡£ ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï -1 ¤¬ÊÖ¤µ¤ì¡¢ errno ¤¬¥¨¥é¡¼¤òɽ¤¹ÃͤËÀßÄꤵ¤ì¤ë¡£

¥¨¥é¡¼

EAGAIN
ÂÔ¤Á¹ÔÎó¤ËÆþ¤ì¤é¤ì¤ë¥·¥°¥Ê¥ë¤ÎºÇÂç¿ô¤Ë㤷¤¿ (¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ï signal(7) ¤ò»²¾È¤¹¤ë¤³¤È)¡£
EINVAL
sig ¤¬ÉÔÀµ¤Ç¤¢¤ë¡£
EPERM
¤³¤Î¥×¥í¥»¥¹¤Ë¤Ï¡¢¼õ¤±¼è¤ê¦¥×¥í¥»¥¹¤Ë¥·¥°¥Ê¥ë¤òÁ÷¤ë¸¢¸Â¤¬¤Ê¤¤¡£ ɬÍפʸ¢¸Â¤Ë¤Ä¤¤¤Æ¤Ï¡¢ kill(2) ¤ò»²¾È¤¹¤ë¤³¤È¡£
ESRCH
pid ¤Ë¥Þ¥Ã¥Á¤¹¤ë PID ¤Î¥×¥í¥»¥¹¤¬¤Ê¤¤¡£

½àµò

POSIX.1-2001

Ãí°Õ

¤³¤Î´Ø¿ô¤ò¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Ë¤³¤Î´Ø¿ô¤¬¥·¥°¥Ê¥ë¤òÁ÷¤Ã¤¿¤È¤­¤Ë¡¢ ¥·¥°¥Ê¥ë¤¬¸Æ¤Ó½Ð¤·Â¦¥¹¥ì¥Ã¥É¤Ë¥Ö¥í¥Ã¥¯¤µ¤ì¤º¡¢ ¤«¤Ä (¥·¥°¥Ê¥ë¤¬¥Ö¥í¥Ã¥¯¤µ¤ì¤Ê¤«¤Ã¤¿¡¢¤Þ¤¿¤Ï sigwait(3) ¤ò»ÈÍѤ¹¤ë¤Î¤òÂԤäƤ¤¤ë¤³¤È¤Ë¤è¤ê) ¤³¤Î¥·¥°¥Ê¥ë¤ò°·¤¦¥¹¥ì¥Ã¥É¤¬²¿¤â¤Ê¤¤¾ì¹ç¤Ï¡¢ ¤³¤Î´Ø¿ô¤¬¥ê¥¿¡¼¥ó¤¹¤ëÁ°¤Ë¡¢¾¯¤Ê¤¯¤È¤â ¤½¤Î¥¹¥ì¥Ã¥É¤ËÂФ·¤Æ¥·¥°¥Ê¥ë¤¬ÇÛÁ÷¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

´ØÏ¢¹àÌÜ

kill(2), sigaction(2), signal(2), sigwait(3), signal(7)