Rechercher une page de manuel
mq_receive
Langue: ja
Version: 2006-02-25 (openSuse - 09/10/07)
Section: 3 (Bibliothèques de fonctions)
̾Á°
mq_receive, mq_timedreceive - ¥á¥Ã¥»¡¼¥¸¥¥å¡¼¤«¤é¥á¥Ã¥»¡¼¥¸¤ò¼õ¿®¤¹¤ë½ñ¼°
#include <mqueue.h> ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned *msg_prio); #define _XOPEN_SOURCE 600 #include <time.h> #include <mqueue.h> ssize_t mq_timedreceive(mqd_t mqdes, char *msg_ptr, size_t msg_len, unsigned *msg_prio, const struct timespec *abs_timeout);
ÀâÌÀ
mq_receive() ¤Ï¡¢µ½Ò»Ò mqdes ¤Ç»²¾È¤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¥¥å¡¼¤«¤éºÇ¤â¹â¤¤Í¥ÀèÅÙ¤ò»ý¤Ä ºÇ¤â¸Å¤¤¥á¥Ã¥»¡¼¥¸¤òºï½ü¤·¡¢¤½¤Î¥á¥Ã¥»¡¼¥¸¤ò msg_ptr ¤¬»Ø¤¹¥Ð¥Ã¥Õ¥¡¤Ë³ÊǼ¤¹¤ë¡£ msg_len °ú¤¿ô¤Ï¡¢ msg_ptr ¤¬»Ø¤¹¥Ð¥Ã¥Õ¥¡¤ÎÂ礤µ¤ò¼¨¤¹¡£¤³¤ÎÃͤϥ¥å¡¼¤Î mq_msgsize °À¤è¤ê¤âÂ礤¯¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤ (mq_getattr(3) »²¾È)¡£ prio ¤¬ NULL °Ê³°¤Î¾ì¹ç¡¢ prio ¤¬»Ø¤¹¥Ð¥Ã¥Õ¥¡¤Ë¼õ¿®¤·¤¿¥á¥Ã¥»¡¼¥¸¤ÎÍ¥ÀèÅÙ¤¬³ÊǼ¤µ¤ì¤ë¡£¥¥å¡¼¤¬¶õ¤Î¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ mq_receive() ¤Ï¡¢¿·¤·¤¤¥á¥Ã¥»¡¼¥¸¤¬ÆϤ¯¤«¡¢´Ø¿ô¸Æ¤Ó½Ð¤·¤¬¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Ë¤è¤ê ÃæÃǤµ¤ì¤ë¤Þ¤Ç¡¢Ää»ß (block) ¤¹¤ë¡£ ¥á¥Ã¥»¡¼¥¸¥¥å¡¼µ½Ò (message queue description) ¤Ç O_NONBLOCK ¥Õ¥é¥°¤¬Í¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ mq_receive() ¤Ï¥¨¥é¡¼ EAGAIN ¤Ç¤¹¤°¤Ë¼ºÇÔ¤¹¤ë¡£
mq_timedreceive() ¤Ï mq_receive() ¤ÈÁ´¤¯Æ±¤¸Æ°ºî¤ò¤¹¤ë¤¬¡¢ ¥á¥Ã¥»¡¼¥¸¥¥å¡¼¤¬¶õ¤Ç¡¢¥á¥Ã¥»¡¼¥¸¥¥å¡¼µ½Ò¤Ç O_NONBLOCK ¥Õ¥é¥°¤¬Í¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¡¢¤³¤Î¸Æ¤Ó½Ð¤·¤¬Ää»ß¤¹¤ë»þ´Ö¤Î¾å¸Â¤ò abs_timeout ¤¬»Ø¤¹¹½Â¤ÂΤǻØÄꤹ¤ëÅÀ¤¬°Û¤Ê¤ë¡£¤³¤Î¾å¸Â¤Ï¡¢¥¿¥¤¥à¥¢¥¦¥È¤Î»þ¹ï¤ò »þ¹ïµª¸µ (Epoch; 1970 ǯ 1 ·î 1 Æü 00:00:00) ¤«¤é¤Î·Ð²á»þ´Ö (ÉäȥʥÎÉäÎÁÈ) ¤Ç»ØÄꤹ¤ë¡£¥¿¥¤¥à¥¢¥¦¥È»þ¹ï¤Ï°Ê²¼¤Î¹½Â¤ÂΤǻØÄꤹ¤ë:
-
struct timespec { time_t tv_sec; /* Éà */ long tv_nsec; /* ¥Ê¥ÎÉà */ };
ÊÖ¤êÃÍ
À®¸ù¤¹¤ë¤È¡¢ mq_receive() ¤È mq_timedreceive() ¤Ï¼õ¿®¤·¤¿¥á¥Ã¥»¡¼¥¸¤Î¥Ð¥¤¥È¿ô¤òÊÖ¤¹¡£ ¥¨¥é¡¼¤Î¾ì¹ç¡¢-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_send(3), mq_unlink(3), feature_test_macros(7), mq_overview(7)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre