Rechercher une page de manuel
mq_send
Langue: ja
Version: 2006-02-25 (openSuse - 09/10/07)
Section: 3 (Bibliothèques de fonctions)
̾Á°
mq_send, mq_timedsend - ¥á¥Ã¥»¡¼¥¸¥¥å¡¼¤Ë¥á¥Ã¥»¡¼¥¸¤òÁ÷¿®¤¹¤ë½ñ¼°
#include <mqueue.h> mqd_t mq_send(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio); #define _XOPEN_SOURCE 600 #include <time.h> #include <mqueue.h> mqd_t mq_timedsend(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio, const struct timespec *abs_timeout);
ÀâÌÀ
mq_send() ¤Ï¡¢µ½Ò»Ò mqdes ¤Ç»²¾È¤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¥¥å¡¼¤Ë msg_ptr ¤¬»Ø¤¹¥á¥Ã¥»¡¼¥¸¤òÄɲ乤롣 msg_len °ú¤¿ô¤Ï¡¢ msg_ptr ¤¬»Ø¤¹¥á¥Ã¥»¡¼¥¸¤ÎŤµ¤ò¼¨¤¹¡£¤³¤ÎŤµ¤Ï¥¥å¡¼¤Î mq_msgsize °À°Ê²¼¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ Ťµ¤¬ 0 ¤Î¥á¥Ã¥»¡¼¥¸¤âǧ¤á¤é¤ì¤Æ¤¤¤ë¡£msg_prio °ú¤¿ô¤Ï¡¢¥á¥Ã¥»¡¼¥¸¤ÎÍ¥ÀèÅÙ¤ò»ØÄꤹ¤ëÉé¤Ç¤Ê¤¤À°¿ô¤Ç¤¢¤ë¡£ ¥á¥Ã¥»¡¼¥¸¤ÏÍ¥ÀèÅ٤ι߽ç¤Ç¥¥å¡¼¤Ë³ÊǼ¤µ¤ì¡¢Æ±¤¸Í¥ÀèÅ٤ο·¤·¤¤¥á¥Ã¥»¡¼¥¸¤Ï Ʊ¤¸Í¥ÀèÅ٤θŤ¤¥á¥Ã¥»¡¼¥¸¤Î¸å¤í¤Ë³ÊǼ¤µ¤ì¤ë¡£
¥á¥Ã¥»¡¼¥¸¥¥å¡¼¤¬¤¹¤Ç¤Ë°ìÇդξì¹ç (¤¹¤Ê¤ï¤Á¡¢¥¥å¡¼¤ËÆþ¤Ã¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¿ô¤¬¥¥å¡¼¤Î mq_maxmsg °À¤ÈÅù¤·¤¤¾ì¹ç)¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ mq_send () ¤Ï¡¢¥á¥Ã¥»¡¼¥¸¤ò¥¥å¡¼¥¤¥ó¥°¤¹¤ë¤Î¤Ë½½Ê¬¤Ê¶õ´Ö¤¬¤Ç¤¤ë¤«¡¢ ´Ø¿ô¸Æ¤Ó½Ð¤·¤¬¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Ë¤è¤êÃæÃǤµ¤ì¤ë¤Þ¤Ç¡¢Ää»ß (block) ¤¹¤ë¡£ ¥á¥Ã¥»¡¼¥¸¥¥å¡¼µ½Ò (message queue description) ¤Ç O_NONBLOCK ¥Õ¥é¥°¤¬Í¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ mq_send() ¤Ï¥¨¥é¡¼ EAGAIN ¤Ç¤¹¤°¤Ë¼ºÇÔ¤¹¤ë¡£
mq_timedsend() ¤Ï mq_send() ¤ÈÁ´¤¯Æ±¤¸Æ°ºî¤ò¤¹¤ë¤¬¡¢ ¥á¥Ã¥»¡¼¥¸¥¥å¡¼¤¬°ìÇդǡ¢¥á¥Ã¥»¡¼¥¸¥¥å¡¼µ½Ò¤Ç O_NONBLOCK ¥Õ¥é¥°¤¬Í¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¡¢¤³¤Î¸Æ¤Ó½Ð¤·¤¬Ää»ß¤¹¤ë»þ´Ö¤Î¾å¸Â¤ò abs_timeout ¤¬»Ø¤¹¹½Â¤ÂΤǻØÄꤹ¤ëÅÀ¤¬°Û¤Ê¤ë¡£¤³¤Î¾å¸Â¤Ï¡¢¥¿¥¤¥à¥¢¥¦¥È¤Î»þ¹ï¤ò »þ¹ïµª¸µ (Epoch; 1970 ǯ 1 ·î 1 Æü 00:00:00) ¤«¤é¤Î·Ð²á»þ´Ö (ÉäȥʥÎÉäÎÁÈ) ¤Ç»ØÄꤹ¤ë¡£¥¿¥¤¥à¥¢¥¦¥È»þ¹ï¤Ï°Ê²¼¤Î¹½Â¤ÂΤǻØÄꤹ¤ë:
-
struct timespec { time_t tv_sec; /* Éà */ long tv_nsec; /* ¥Ê¥ÎÉà */ };
ÊÖ¤êÃÍ
À®¸ù¤¹¤ë¤È¡¢ mq_send() ¤È mq_timedsend() ¤Ï 0 ¤òÊÖ¤¹¡£ ¥¨¥é¡¼¤Î¾ì¹ç¡¢-1 ¤òÊÖ¤·¡¢ errno ¤Ë¥¨¥é¡¼¤ò¼¨¤¹ÃͤòÀßÄꤹ¤ë¡£¥¨¥é¡¼
- EAGAIN
- ¥¥å¡¼¤¬°ìÇդǡ¢¤«¤Ä mqdes ¤Ç»²¾È¤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¥¥å¡¼µ½Ò¤Ç O_NONBLOCK ¥Õ¥é¥°¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤¿¡£
- EBADF
- mqdes ¤Ç»ØÄꤵ¤ì¤¿µ½Ò»Ò¤¬ÉÔÀµ¤Ç¤¢¤ë¡£
- EMSGSIZE
- msg_len ¤¬¥á¥Ã¥»¡¼¥¸¥¥å¡¼¤Î mq_msgsize °À¤è¤ê¤âÂ礤«¤Ã¤¿¡£
- EINTR
- ´Ø¿ô¸Æ¤Ó½Ð¤·¤¬¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Ë¤è¤êÃæÃǤµ¤ì¤¿¡£
- EINVAL
- ´Ø¿ô¸Æ¤Ó½Ð¤·¤ÏÄä»ß¤¹¤ë¤Ï¤º¤Ç¤¢¤Ã¤¿¤¬¡¢ abs_timeout ¤¬ÉÔÀµ¤Ç¤¢¤Ã¤¿¡£ abs_timeout ¤¬ÉÔÀµ¤È¤Ï¡¢ tv_sec ¤¬ 0 ̤Ëþ¡¢¤â¤·¤¯¤Ï tv_nsec ¤¬ 0 ̤Ëþ¤« 1,000,000,000 ¤è¤êÂ礤¤¡¢¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£
- ETIMEDOUT
- ¥á¥Ã¥»¡¼¥¸¤¬Å¾Á÷¤µ¤ì¤ëÁ°¤Ë´Ø¿ô¸Æ¤Ó½Ð¤·¤¬¥¿¥¤¥à¥¢¥¦¥È¤·¤¿¡£
½àµò
POSIX.1-2001.´ØÏ¢¹àÌÜ
mq_close(3), mq_getattr(3), mq_notify(3), mq_open(3), mq_receive(3), mq_unlink(3), feature_test_macros(7), mq_overview(7)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre