MSGOP
Section: ¸®´ª½º ÇÁ·Î±×·¡¸Ó ¸Å´º¾ó (2)
Updated: 1993³â 11¿ù 1ÀÏ
Index
Return to Main Contents
À̸§
msgop - ¸Þ¼¼Áö ÀÛµ¿µé
»ç¿ë¹ý
# include <sys/types.h>
# include <sys/ipc.h>
# include <sys/msg.h>
int msgsnd ( int msqid,
struct msgbuf *msgp,
int msgsz,
int msgflg )
int msgrcv ( int msqid,
struct msgbuf *msgp,
int msgsz,
long msgtyp,
int msgflg )
¼³¸í
¸Þ¼¼Áö¸¦ º¸³»°í ¹Þ±â À§Çؼ, È£Ãâ ÇÁ·Î¼¼½º´Â ´ÙÀ½°ú °°Àº ±¸Á¶Ã¼¸¦ ÇÒ´çÇؾß
ÇÑ´Ù.
struct msgbuf {
long mtype;
/* ¸Þ¼¼Áö ŸÀÔ, 0 º¸´Ù Ä¿¾ß ÇÑ´Ù */
char mtext[1];
/* ¸Þ¼¼Áö µ¥ÀÌÅÍ */
};
±×·¯³ª ¹è¿
mtext
°¡ °¡Áö°í ÀÖ´Â
msgszÀÇ
Å©±â´Â ¾ç¼ö °ªÀ̾î¾ß ÇÑ´Ù.
±¸Á¶Ã¼ ¸â¹ö
mtype
Àº È£Ãâ ÇÁ·Î¼¼½º°¡ ¸Þ¼¼Áö ¼±ÅÃÀ» À§ÇØ »ç¿ëÇÒ¼ö ÀÖµµ·Ï È®½ÇÈ÷ ¾ç¼ö°ªÀ̾î¾ß ÇÑ´Ù.
(
msgrcv¸¦
ÂüÁ¶Çضó).
È£Ãâ ÇÁ·Î¼¼½º´Â Å¥¿¡ ÀÖ´Â ¸Þ¼¼Áö¸¦ º¸³»±â À§ÇØ ¾²±â Á¢±ÙÀ» °¡Áö°í ÀÖ¾î¾ß Çϸç
¸Þ¼¼Áö¸¦ ¹Þ±â À§ÇØ Àбâ Çã°¡±ÇÀ» °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù.
msgsnd
½Ã½ºÅÛ ÄÝÀº
msgp
ÀÎÀÚ°¡ °¡¸®Å°°í ÀÖ´Â ¸Þ¼¼ÁöÀÇ º¹»çº»À» ½Äº°ÀÚ°¡
msqid
ÀÎÀÚ °ªÀÎ ¸Þ¼¼Áö Å¥¿¡ ³Ö´Â´Ù.
msgflg
ÀÎÀÚ´Â µé¾î¿Â »õ ¸Þ¼¼Áö°¡ ¸¸ÀÏ Å¥¿¡¼
msg_qbytes
ÀÌ»óÀ» ¿ä±¸ÇÑ´Ù¸é ½Ã½ºÅÛ ÄÝÀÇ ÇൿÀ» ÁöÁ¤ÇÑ´Ù.
IPC_NOWAIT
°¡ ¸í½ÃµÇ¾ú´Ù¸é ¸Þ¼¼Áö´Â º¸³»ÁöÁö ¾ÊÀ¸¸ç ½Ã½ºÅÛ ÄÝÀº
errno
¸¦
EAGAINÀ¸·Î
¼³Á¤ÇÏ°í ½ÇÆи¦ ¸®ÅÏÇÑ´Ù. ¸¸¾à ±×·¸Áö ¾ÊÀ¸¸é ÇÁ·Î¼¼½º´Â ÁßÁö»óÅ°¡ ´õÀÌ»ó Á¸ÀçÇÏÁö ¾ÊÀ»¶§±îÁö³ª(¸Þ¼¼Áö°¡ º¸³»Áö°í ½Ã½ºÅÛ È£ÃâÀÌ ¼º°øÇßÀ» °æ¿ì), Å¥°¡ Á¦°ÅµÇ¾ú°Å³ª(½Ã½ºÅÛ È£ÃâÀÌ
errno
¸¦
EIDRM·Î
¼³Á¤ÇÏ°í ½ÇÆÐÇßÀ» °æ¿ì), ÇÁ·Î¼¼½º°¡ ½ÅÈ£¸¦ ¹ÞÀ»¶§±îÁö ÀϽà ÁßÁöµÈ´Ù(½Ã½ºÅÛ
È£ÃâÀÌ
errno
¸¦
EINTR·Î
¼³Á¤ÇÏ°í ½ÇÆÐÇßÀ» °æ¿ì).
¼º°ø½Ã ¸Þ¼¼Áö Å¥ µ¥ÀÌÅÍ ±¸Á¶´Â ´ÙÀ½°ú °°ÀÌ °»½ÅµÈ´Ù:
-
msg_lspid
´Â È£Ãâ ÇÁ·Î¼¼½ºÀÇ ÇÁ·Î¼¼½º-ID·Î ¼³Á¤µÈ´Ù.
-
msg_qnum
´Â 1 Áõ°¡ÇÑ´Ù.
-
msg_stime
´Â ÇöÀç ½Ã°£À¸·Î ¼³Á¤µÈ´Ù.
msgrcv
½Ã½ºÅÛ È£ÃâÀº
msqid
°¡ °¡¸®Å°´Â ¸Þ¼¼Áö Å¥¿¡¼ ¸Þ¼¼Áö¸¦ Àоî¼
msgp
ÀÎÀÚ°¡ °¡¸®Å°´Â
msgbuf
·Î º¹»çÇϸç, ¼º°ø½Ã ¸Þ¼¼Áö Å¥¿¡¼ ÀÐÀº ÇØ´ç ¸Þ¼¼Áö´Â »èÁ¦µÈ´Ù.
ÀÎÀÚ
msgsz
´Â
msgp
ÀÎÀÚ°¡ °¡¸®Å°´Â ±¸Á¶Ã¼¿¡¼
mtext
¸â¹öÀÇ ÃÖ´ë Å©±â ¹ÙÀÌÆ®¸¦ °¡¸®Å²´Ù.
¸Þ¼¼Áö ÅؽºÆ®°¡
msgszº¸´Ù
Å« ±æÀ̸¦ °¡Áö°í
msgflg
ÀÎÀÚ¿¡
MSG_NOERROR°¡
¸í½ÃµÇ¾î ÀÖ´Ù¸é ¸Þ¼¼Áö ÅؽºÆ®´Â À߸°´Ù(±×¸®°í Àß·ÁÁø ºÎºÐÀ» ÀҴ´Ù).
¸¸ÀÏ ±×·¸Áö ¾ÊÀ¸¸é ¸Þ¼¼Áö´Â Å¥¿¡¼ Á¦°Å µÇÁö ¾ÊÀ¸¸ç ½Ã½ºÅÛ ÄÝÀº
errno
¸¦
E2BIGÀ¸·Î
¼³Á¤ÇÏ°í ½ÇÆи¦ ¹ÝȯÇÑ´Ù.
ÀÎÀÚ
msgtyp
´Â ´ÙÀ½°ú °°Àº ¸Þ¼¼Áö ŸÀÔÀ» ÁöÁ¤ÇÑ´Ù.
-
¸¸ÀÏ
msgtyp
°¡
0À̸é,
Å¥ÀÇ ¾Õ¿¡ ÀÖ´Â ¸Þ¼¼Áö¸¦ Àд´Ù.
-
¸¸ÀÏ
msgtyp
°¡
0º¸´Ù
Å©°í
MSG_EXCEPT
°¡
msgflg
ÀÎÀÚ¿¡ ÀÇÇØ ÁöÁ¤µÇ¾î ÀÖÁö ¾Ê´Ù¸é,
msgtyp
ŸÀÔ Å¥ÀÇ Ã³À½ ¸Þ¼¼Áö°¡ ÀÐÇôÁø´Ù.
¸¸ÀÏ ±×·¸Áö ¾ÊÀ¸¸é
msgtyp
°ú °°Áö ¾ÊÀº ŸÀÔÀÇ Å¥¿¡ Àִ óÀ½ ¸Þ¼¼Áö¸¦ Àд´Ù.
-
¸¸ÀÏ
msgtyp
ÀÌ
0º¸´Ù
ÀÛ´Ù¸é,
msgtyp
Àý´ë°ªº¸´Ù À۰ųª °°Àº ŸÀÔÀÇ Å¥¿¡ Àִ óÀ½ ¸Þ¼¼Áö°¡ ÀÐÇôÁø´Ù.
msgflg
ÀÎÀÚ´Â ´ÙÀ½°ú °°Àº Ç÷¡±×Áß Çϳªµµ ¾ø°Å³ª, Çϳª ¶Ç´Â ±× ÀÌ»óÀ»(¶Ç´Â
±×°Íµé Áß¿¡¼)ÁöÁ¤ÇÑ´Ù:
-
IPC_NOWAIT
¿ä±¸µÈ ŸÀÔÀÇ ¸Þ¼¼Áö°¡ Å¥¿¡ ¾ø´Ù¸é Áï½Ã ¸®ÅÏÇÑ´Ù. ½Ã½ºÅÛ ÄÝÀº errno¸¦
ENOMSGÀ¸·Î
¼³Á¤ÇÏ°í ½ÇÆÐÇÑ´Ù.
-
MSG_EXCEPT
msgtyp°ú
´Ù¸¥ ¸Þ¼¼Áö ŸÀÔÀ» °¡Áö°í Àִ ťÀÇ Ã³À½ ¸Þ¼¼Áö¸¦ Àбâ À§ÇØ
0
º¸´Ù Å«
msgtyp
À» »ç¿ëÇÑ´Ù.
-
MSG_NOERROR
msgsz
¹ÙÀÌÆ®º¸´Ù Å©´Ù¸é ¸Þ¼¼Áö ÅؽºÆ®¸¦ ÀÚ¸¥´Ù.
¸¸ÀÏ ¿ä±¸µÈ ŸÀÔÀÇ ¸Þ¼¼Áö¸¦ ÀÌ¿ëÇÒ¼ö ¾øÀ¸¸ç
IPC_NOWAIT
°¡
msgflg¿¡
ÁöÁ¤µÇ¾î ÀÖÁö ¾Ê´Ù¸é, È£Ãâ ÇÁ·Î¼¼½º´Â ´ÙÀ½ Á¶°ÇÁß Çϳª°¡ ÀϾ¶§±îÁö ºí·°
µÈ´Ù.
-
¿øÇϴ ŸÀÔÀÇ ¸Þ¼¼Áö°¡ Å¥¿¡ ÀÖ´Ù.
-
¸Þ¼¼Áö Å¥´Â ½Ã½ºÅÛ¿¡¼ Á¦°Å µÇ¾ú´Ù.
±×·± °æ¿ì ½Ã½ºÅÛ È£ÃâÀº
errno
¸¦
EIDRMÀ¸·Î
¼³Á¤ÇÏ°í ½ÇÆÐÇÑ´Ù.
-
È£Ãâ ÇÁ·Î¼¼½º°¡ ÀâÀ» ¼ö ÀÖ´Â ½ÅÈ£¸¦ ¹Þ¾Ò´Ù.
±×·± °æ¿ì ½Ã½ºÅÛ È£ÃâÀº
errno
¸¦
EINTRÀ¸·Î
¼³Á¤ÇÏ°í ½ÇÆÐÇÑ´Ù.
¼º°ø½Ã, ¸Þ¼¼Áö Å¥ µ¥ÀÌÅÍ ±¸Á¶´Â ´ÙÀ½°ú °°ÀÌ °»½ÅµÈ´Ù:
-
msg_lrpid
´Â È£Ãâ ÇÁ·Î¼¼½ºÀÇ ÇÁ·Î¼¼½º-ID·Î ¼³Á¤µÈ´Ù.
-
msg_qnum
´Â 1 °¨¼ÒÇÑ´Ù.
-
msg_rtime
´Â ÇöÀç ½Ã°£À¸·Î ¼³Á¤µÈ´Ù.
¹Ýȯ°ª
½ÇÆнà µÎÇÔ¼ö ¸ðµÎ
-1
À» ¸®ÅÏÇÑ´Ù.
errno
´Â ¿¡·¯¸¦ °¡¸®Å²´Ù.
¸¸ÀÏ ±×·¸Áö ¾ÊÀ¸¸é
msgsnd
´Â
0
À» ¹ÝȯÇϸç
msgrvc
´Â
mtext
¹è¿·Î ½ÇÁ¦·Î º¹»çµÈ ¹ÙÀÌÆ®¼ö¸¦ ¹ÝȯÇÑ´Ù.
¿¡·¯
msgsnd
°¡ ½ÇÆÐÇϸé, ¹Ýȯ½Ã
errno
´Â ´ÙÀ½Áß Çϳª·Î ¼³Á¤µÈ´Ù.
- EAGAIN
-
¸Þ¼¼Áö¸¦ Å¥ÀÇ
msg_qbytes
Á¦ÇÑ °ª ¶§¹®¿¡ º¸³¾¼ö ¾ø´Ù. ±×¸®°í
IPC_NOWAIT
´Â
mgsflgÀÎÀÚ¿¡
ÁöÁ¤µÇ¾î ÀÖ´Ù.
- EACCES
-
È£Ãâ ÇÁ·Î¼¼½º´Â ¸Þ¼¼Áö Å¥¿¡ ¾²±â Á¢±Ù Çã°¡±ÇÀ» °¡Áö°í ÀÖÁö ¾Ê´Ù.
- EFAULT
-
msgp
°¡ °¡¸®Å°°í ÀÖ´Â ÁÖ¼Ò¸¦ Á¢±ÙÇÒ¼ö ¾ø´Ù.
- EIDRM
-
¸Þ¼¼Áö Å¥°¡ Á¦°Å µÇ¾ú´Ù.
- EINTR
-
¸ðµç ¸Þ¼¼Áö Å¥°¡ Àáµç »óÅÂÀ϶§ ÇÁ·Î¼¼½º°¡ ÀâÀ»¼ö ÀÖ´Â ½ÅÈ£¸¦ ¹Þ¾Ò´Ù.
- EINVAL
-
À¯È¿ÇÏÁö ¾ÊÀº
msqid
°ªÀ̳ª À½¼öÀÇ
mtype
°ªÀ̳ª, À¯È¿ÇÏÁö ¾ÊÀº
msgsz
°ª(0º¸´Ù À۰ųª ½Ã½ºÅÛ °ª
MSGMAXº¸´Ù
Ŭ °æ¿ì).
- ENOMEM
-
½Ã½ºÅÛÀÌ Á¦°øµÈ
msgbuf¿¡
º¹»çÇÒ ÃæºÐÇÑ ¸Þ¸ð¸®¸¦ °¡Áö°í ÀÖÁö ¾Ê´Ù.
msgrcv
°¡ ½ÇÆÐÇÒ¶§, ¹Ýȯ½Ã
errno
´Â ´ÙÀ½ °ªÁß Çϳª·Î ¼³Á¤µÈ´Ù.
- E2BIG
-
¸Þ¼¼Áö ÅؽºÆ® ±æÀÌ°¡
msgsz
º¸´Ù Å©°í
MSG_NOERROR
°¡
msgflg¿¡
ÁöÁ¤µÇ¾î ÀÖÁö ¾Ê´Ù.
- EACCES
-
È£Ãâ ÇÁ·Î¼¼½º°¡ ¸Þ¼¼Áö Å¥¿¡ ´ëÇÑ Àбâ Á¢±Ù Çã°¡±ÇÀ» °¡Áö°í ÀÖÁö ¾Ê´Ù.
- EFAULT
-
msgp
°¡ °¡¸®Å°°í ÀÖ´Â ÁÖ¼Ò¸¦ Á¢±ÙÇÒ¼ö ¾ø´Ù.
- EIDRM
-
ÇÁ·Î¼¼½º°¡ ¸Þ¼¼Áö¸¦ ¹Þ±â À§ÇØ Àáµç µ¿¾È, ¸Þ¼¼Áö Å¥°¡ Á¦°Å µÇ¾ú´Ù.
- EINTR
-
ÇÁ·Î¼¼½º°¡ ¸Þ¼¼Áö¸¦ ¹Þ±â À§ÇØ Àáµç µ¿¾È, ÇÁ·Î¼¼½º°¡ ÀâÀ»¼ö ÀÖ´Â ½ÅÈ£¸¦ ¹Þ¾Ò´Ù.
- EINVAL
-
À¯È¿ÇÏÁö ¾ÊÀº
msgqid
°ªÀ̳ª,
msgsz
°¡
0º¸´Ù
ÀÛ´Ù.
- ENOMSG
-
IPC_NOWAIT
°¡
msgflg
¿¡ ÁöÁ¤µÇ¾î ÀÖ°í ¿äûµÈ ŸÀÔÀÇ ¸Þ¼¼Áö°¡ ¸Þ¼¼Áö Å¥¿¡ Á¸ÀçÇÏÁö ¾Ê´Â´Ù.
ÁÖÀÇ
´ÙÀ½Àº
msgsnd
½Ã½ºÅÛ ÄÝ¿¡ ¿µÇâÀ» ÁÖ´Â ½Ã½ºÅÛ Á¦ÇÑ°ªµéÀÌ´Ù:
- MSGMAX
-
¸Þ¼¼Áö ÅؽºÆ®ÀÇ ÃÖ´ë Å©±â: ¼öÇà½Ã ÀÌ °ªÀº
4080 bytes·Î ¼³Á¤µÈ´Ù.
- MSGMNB
-
¸Þ¼¼Áö Å¥ÀÇ ±âº» ÃÖ´ë Å©±â: Á¤Ã¥¿¡ ÀÇÁ¸ÀûÀ̸ç, ½´ÆÛ-À¯Àú´Â
msgctl
½Ã½ºÅÛ È£Ãâ·Î ¸Þ¼¼Áö Å¥ÀÇ Å©±â¸¦
MSGMNB
ÀÌ»óÀ¸·Î Áõ°¡½Ãų¼ö ÀÖ´Ù.
¼öÇàÀº ¸Þ¼¼Áö Çì´õÀÇ ½Ã½ºÅÛ Àü¿ª ÃÖ´ë ¼ö
(MSGTQL)
¿Í ¸Þ¼¼Áö Ç®
(MSGPOOL)
ÀÇ ½Ã½ºÅÛ Àü¿ª ÃÖ´ë Å©±â¸¦ À§ÇÑ ¾î¶² ³»ºÎÀû Á¦ÇÑ°ªÀ» °¡Áö°í ÀÖÁö ¾Ê´Ù.
ȣȯ
SVr4, SVID.
°ü·Ã Ç׸ñ
ipc(5),
msgctl(2),
msgget(2),
msgrcv(2),
msgsnd(2)
¿ªÀÚ
Á¤°ÈÆ <skyeyes@soback.kornet.net>, 2000³â 6¿ù 24ÀÏ
Index
- À̸§
-
- »ç¿ë¹ý
-
- ¼³¸í
-
- ¹Ýȯ°ª
-
- ¿¡·¯
-
- ÁÖÀÇ
-
- ȣȯ
-
- °ü·Ã Ç׸ñ
-
- ¿ªÀÚ
-
This document was created by
man2html,
using the manual pages.
Time: 08:07:00 GMT, March 25, 2004