linux man page : mq_send - ¸Þ½ÃÁöÅ¥¿¡ µ¥ÀÌÅ͸¦ ¾´´Ù.
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

mq_send

»ç¿ë ¹ý

#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); 
 
-lrt¸¦ ¸µÅ©ÇØ¾ß ÇÑ´Ù. 
 

¼³¸í

mq_send ÇÔ¼ö´Â msg_ptrÀÌ °¡¸®Å°´Â µ¥ÀÌÅ͸¦ mqdes°¡ Áö½ÃÇÏ´Â ¸Þ½ÃÁö Å¥¿¡ ¾´´Ù. ¸Å°³º¯¼ö msg_len´Â ¸Þ½ÃÁö Å¥¿¡ ¾µ msg_ptrÀÇ µ¥ÀÌÅÍ Å©±â¸¦ ¹ÙÀÌÆ® ´ÜÀ§·Î ÁöÁ¤ÇÑ´Ù. msg_lenÀº ¹Ýµå½Ã mq_msgsizeº¸´Ù À۰ųª °°¾Æ¾ß¸¸ ÇÑ´Ù. 0Å©±â ¸Þ½ÃÁöµµ Àü¼ÛÇÒ ¼ö ÀÖ´Ù.

¸Å°³º¯¼ö msg_prio´Â 0ÀÌ»óÀÇ °ªÀ» ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸¸ç, ¸Þ½ÃÁöÀÇ ¿ì¼±¼øÀ§¸¦ °áÁ¤ÇÑ´Ù. ¸Þ½ÃÁö´Â ¿ì¼±¼øÀ§¿¡ µû¶ó¼­ ³»¸²Â÷¼øÀ¸·Î ½×ÀδÙ.

¸¸¾à ¸Þ½ÃÁö Å¥°¡ °¡µæ Â÷ÀÖ´Ù¸é (¸Þ½ÃÁö Å¥¿¡ ÀúÀåÇÒ ¼ö ÀÖ´Â µ¥ÀÌÅÍ ¿ø¼ÒÀÇ Å©±â´Â mq_maxmsg·Î Á¤ÀÇÇÑ´Ù.), ±âº»ÀûÀ¸·Î ms_send´Â »ç¿ëÇÒ ¼ö ÀÖ´Â °ø°£ÀÌ »ý±æ ¶§±îÁö, ȤÀº ½Ã±×³Î·Î ÀÎÅÍ·´Æ®°¡ °É¸± ¶§±îÁö ºÀ¼âµÈ´Ù. ¸¸¾à O_NONBLOCK Ç÷¡±×°¡ »ç¿ëµÇ¾ú´Ù¸é, mq_send´Â EAGAIN ¿¡·¯¿Í ÇÔ²² Áï½Ã ¹ÝȯÇÑ´Ù.

mq_timesend ÇÔ¼ö´Â Å¥°¡ °¡µæÂ÷¼­ ºÀ¼âµÉ °æ¿ì, abs_timeout½Ã°£¸¸Å­ ±â´Ù¸®´Ù°¡ ¹ÝȯÇÑ´Ù´Â °ÍÀ» Á¦¿ÜÇϰí mq_send ÇÔ¼ö¿Í µ¿ÀÏÇÏ´Ù. ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇÒ·Á¸é O_NONBLOCKÇ÷¡±×°¡ ºñȰ¼ºÈ­ µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù. abs_timeout´Â Áö±ÝºÎÅÍ ±â´Ù¸± ½Ã°£ÀÌ ¾Æ´Ï´Ù. 1970-01-01 00:00:00¸¦ ±âÁØÀ¸·Î ÇØ¼­ ±â´Ù¸®´Â ½Ã°£ÀÌ´Ù. ±×·¯¹Ç·Î ¸¸¾à 10Ãʸ¦ ±â´Ù¸®°í ½Í´Ù¸é, ÇöÀçÀÇ À¯´Ð½º ½Ã°£ + 10À» ÇØÁà¾ß ÇÑ´Ù.
struct timespec { 
    time_t tv_sec;        /* seconds */ 
    long   tv_nsec;       /* nanoseconds */ 
}; 
 
¸¸¾à ¸Þ½ÃÁö Å¥°¡ °¡µæ Âù »óÅ¿¡¼­ timeout ½Ã°£ÀÌ ÀÌ¹Ì ÃʰúµÇ¾î ¹ö·È´Ù¸é (°ú°Å¸¦ °¡¸®Å°°í ÀÖ´Ù¸é) mq_timesend ÇÔ¼ö´Â Áï½Ã ¹ÝȯÇÑ´Ù.

¹Ýȯ °ª

mq_send°¡ ¼º°øÇϸé 0À» ¹ÝȯÇÑ´Ù. ½ÇÆÐÇß´Ù¸é -1À» ¹ÝȯÇÑ´Ù.

¿¡·¯ °ª

EAGAIN
Å¥°¡ ºñ¾îÀÖ°í, O_NONBLOCKÇ÷¡±×°¡ ¼³Á¤µÇ¾î ÀÖ´Ù.
EBADF
mqdes°¡ À߸øµÈ ¸Þ½ÃÁö Å¥¸¦ Áö½ÃÇϰí ÀÖ´Ù.
EINTR
½Ã±×³Î·Î ÀÎÇÏ¿© ÀÎÅÍ·´Æ®°¡ °É·È´Ù.
EMSGSIZE
msg_lenÀÌ mq_msgsizeº¸´Ù Å©´Ù.
ETIMEOUT
ÁÖ¾îÁø ½Ã°£³»¿¡ ¸Þ½ÃÁöÀü¼Û¿¡ ½ÇÆÐÇß´Ù.

°ü·Ã ±Û

mq_open(3)

¿¹Á¦

¸Þ½ÃÁöÅ¥ÀÇ »ç¿ëÂü°í
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.