OSDN Git Service

Convert release and draft pages to UTF-8.
[linuxjm/jm.git] / manual / LDP_man-pages / draft / man3 / mq_notify.3
index 0a0772d..16167c5 100644 (file)
 .\"
 .TH MQ_NOTIFY 3 2010-10-04 "Linux" "Linux Programmer's Manual"
 .\"O .SH NAME
-.SH Ì¾Á°
+.SH 名前
 .\"O mq_notify \- register for notification when a message is available
-mq_notify \- ¥á¥Ã¥»¡¼¥¸ÅþÃå»þ¤ËÄÌÃΤò¹Ô¤¦¤è¤¦ÅÐÏ¿¤¹¤ë
+mq_notify \- メッセージ到着時に通知を行うよう登録する
 .\"O .SH SYNOPSIS
-.SH ½ñ¼°
+.SH 書式
 .nf
 .B #include <mqueue.h>
 .sp
@@ -42,20 +42,20 @@ mq_notify \- 
 .fi
 .sp
 .\"O Link with \fI\-lrt\fP.
-\fI\-lrt\fP ¤Ç¥ê¥ó¥¯¤¹¤ë¡£
+\fI\-lrt\fP でリンクする。
 .\"O .SH DESCRIPTION
-.SH ÀâÌÀ
+.SH 説明
 .\"O .BR mq_notify ()
 .\"O allows the calling process to register or unregister for delivery of
 .\"O an asynchronous notification when a new message arrives on
 .\"O the empty message queue referred to by the descriptor
 .\"O .IR mqdes .
 .BR mq_notify ()
-¤ò»È¤¦¤È¡¢¥Ç¥£¥¹¥¯¥ê¥×¥¿
+ã\82\92使ã\81\86ã\81¨ã\80\81ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿
 .I mqdes
-¤Ç»²¾È¤µ¤ì¤ë¶õ¤Î¥á¥Ã¥»¡¼¥¸¥­¥å¡¼¤Ë¿·¤·¤¯¥á¥Ã¥»¡¼¥¸¤¬ÅþÃ夷¤¿»þ¤Ë
-ÈóƱ´ü¤ÎÄÌÃΠ(notification) ¤ÎÇÛÁ÷¤¬¹Ô¤ï¤ì¤ë¤è¤¦¤ËÅÐÏ¿¤·¤¿¤ê¡¢
-¤½¤Î²ò½ü¤ò¹Ô¤Ã¤¿¤ê¤Ç¤­¤ë¡£
+で参照される空のメッセージキューに新しくメッセージが到着した時に
+非同期の通知 (notification) の配送が行われるように登録したり、
+その解除を行ったりできる。
 
 .\"O The
 .\"O .I sevp
@@ -65,12 +65,12 @@ mq_notify \- 
 .\"O For the definition and general details of this structure, see
 .\"O .BR sigevent (7).
 .I sevp
-°ú¤­¿ô¤Ï
+引き数は
 .I sigevent
-¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¤Ç¤¢¤ë¡£
-¤³¤Î¹½Â¤ÂΤÎÄêµÁ¤È°ìÈÌŪ¤Ê¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï
+構造体へのポインタである。
+この構造体の定義と一般的な詳細については
 .BR sigevent (7)
-¤ò»²¾È¡£
+を参照。
 .PP
 .\"O If
 .\"O .I sevp
@@ -78,9 +78,9 @@ mq_notify \- 
 .\"O .BR mq_notify ()
 .\"O registers the calling process to receive message notification.
 .I sevp
-¤¬ NULL ¤Ç¤Ê¤¤¥Ý¥¤¥ó¥¿¤Ç¤¢¤ì¤Ð¡¢
+が NULL でないポインタであれば、
 .BR mq_notify ()
-¤Ï¥á¥Ã¥»¡¼¥¸ÄÌÃΤò¼õ¤±¼è¤ë¤è¤¦¤Ë¸Æ¤Ó½Ð¤·¸µ¤Î¥×¥í¥»¥¹¤òÅÐÏ¿¤¹¤ë¡£
+はメッセージ通知を受け取るように呼び出し元のプロセスを登録する。
 .\"O The
 .\"O .I sigev_notify
 .\"O field of the
@@ -90,18 +90,18 @@ mq_notify \- 
 .\"O points specifies how notification is to be performed.
 .\"O This field has one of the following values:
 .I sevp
-¤¬»Ø¤¹
+が指す
 .I sigevent
-¹½Â¤ÂΤÎ
+構造体の
 .I sigev_notify
-¥Õ¥£¡¼¥ë¥É¤Ï¡¢¤É¤Î¤è¤¦¤ÊÄÌÃΤò¹Ô¤¦¤Î¤«¤ò»ØÄꤹ¤ë¡£
-¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï°Ê²¼¤ÎÃͤΤ¤¤º¤ì¤«¤ò»ý¤Ä¡£
+フィールドは、どのような通知を行うのかを指定する。
+このフィールドは以下の値のいずれかを持つ。
 .TP
 .B SIGEV_NONE
 .\"O A "null" notification: the calling process is registered as the target
 .\"O for notification, but when a message arrives, no notification is sent.
-¡Ö¶õ¤Î (null)¡×¤ÎÄÌÃÎ: ¸Æ¤Ó½Ð¤·¸µ¤Î¥×¥í¥»¥¹¤òÄÌÃΤΰ¸Àè¤È¤·¤ÆÅÐÏ¿¤¹¤ë¤¬¡¢
-¼ÂºÝ¤Ë¤Ï¥á¥Ã¥»¡¼¥¸¤¬ÅþÃ夷¤¿»þ¤ËÄÌÃΤÏÁ÷¤é¤ì¤Ê¤¤¡£
+「空の (null)」の通知: 呼び出し元のプロセスを通知の宛先として登録するが、
+実際にはメッセージが到着した時に通知は送られない。
 .\" When is SIGEV_NONE useful?
 .TP
 .B SIGEV_SIGNAL
@@ -111,10 +111,10 @@ mq_notify \- 
 .\"O .BR sigevent (7)
 .\"O for general details.
 .I sigev_signo
-¤Ç»ØÄꤵ¤ì¤¿¥·¥°¥Ê¥ë¤òÁ÷¤Ã¤Æ¡¢¥×¥í¥»¥¹¤ËÄÌÃΤ¹¤ë¡£
-°ìÈÌŪ¤Ê¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï
+で指定されたシグナルを送って、プロセスに通知する。
+一般的な詳細については
 .BR sigevent (7)
-¤ò»²¾È¡£
+を参照。
 .\"O The
 .\"O .I si_code
 .\"O field of the
@@ -122,11 +122,11 @@ mq_notify \- 
 .\"O structure will be set to
 .\"O .BR SI_MESGQ .
 .I siginfo_t
-¹½Â¤ÂΤÎ
+構造体の
 .I si_code
-¥Õ¥£¡¼¥ë¥É¤Ë¤Ï
+フィールドには
 .B SI_MESGQ
-¤¬ÀßÄꤵ¤ì¤ë¡£
+が設定される。
 .\"O In addition,
 .\" I don't know of other implementations that set
 .\" si_pid and si_uid -- MTK
@@ -134,11 +134,11 @@ mq_notify \- 
 .\"O will be set to the PID of the process that sent the message, and
 .\"O .I si_uid
 .\"O will be set to the real user ID of the sending process.
-¤µ¤é¤Ë¡¢
+さらに、
 .I si_pid
-¤Ë¤Ï¥á¥Ã¥»¡¼¥¸¤òÁ÷¿®¤·¤¿¥×¥í¥»¥¹¤Î PID ¤¬¡¢
+にはメッセージを送信したプロセスの PID が、
 .I si_uid
-¤Ë¤ÏÁ÷¿®¥×¥í¥»¥¹¤Î¼Â¥æ¡¼¥¶ ID ¤¬ÀßÄꤵ¤ì¤ë¡£
+には送信プロセスの実ユーザ ID が設定される。
 .TP
 .B SIGEV_THREAD
 .\"O Upon message delivery, invoke
@@ -147,17 +147,17 @@ mq_notify \- 
 .\"O See
 .\"O .BR sigevent (7)
 .\"O for details.
-¥á¥Ã¥»¡¼¥¸¤ÎÇÛÁ÷»þ¤Ë¤Ï¡¢
+メッセージの配送時には、
 .I sigev_notify_function
-¤¬¤¢¤¿¤«¤â¿·¤·¤¤¥¹¥ì¥Ã¥É¤Î³«»Ï´Ø¿ô¤Ç¤¢¤ë¤«¤Î¤è¤¦¤Ëµ¯Æ°¤µ¤ì¤ë¡£
-¾ÜºÙ¤Ï
+があたかも新しいスレッドの開始関数であるかのように起動される。
+詳細は
 .BR sigevent (7)
-¤ò»²¾È¡£
+を参照。
 .PP
 .\"O Only one process can be registered to receive notification
 .\"O from a message queue.
-°ì¤Ä¤Î¥á¥Ã¥»¡¼¥¸¥­¥å¡¼¤«¤éÄÌÃΤò¼õ¿®¤¹¤ë¤è¤¦¤ËÅÐÏ¿¤Ç¤­¤ë¥×¥í¥»¥¹¤Ï
-°ì¤Ä¤À¤±¤Ç¤¢¤ë¡£
+一つのメッセージキューから通知を受信するように登録できるプロセスは
+一つだけである。
 
 .\"O If
 .\"O .I sevp
@@ -166,10 +166,10 @@ mq_notify \- 
 .\"O another process can then register to receive a message notification
 .\"O for this queue.
 .I sevp
-¤¬ NULL ¤Ç¡¢¤«¤Ä¸Æ¤Ó½Ð¤·¸µ¤Î¥×¥í¥»¥¹¤¬¤³¤Î¥á¥Ã¥»¡¼¥¸¥­¥å¡¼¤«¤é¤Î
-ÄÌÃΤò¼õ¿®¤¹¤ë¤Ë¸½ºßÅÐÏ¿¤·¤Æ¤¤¤ë¾ì¹ç¡¢ÅÐÏ¿¤òºï½ü¤¹¤ë¡£
-¤³¤ì°Ê¹ß¡¢ÊÌ¤Î¥×¥í¥»¥¹¤¬¤³¤Î¥á¥Ã¥»¡¼¥¸¥­¥å¡¼¤«¤éÄÌÃΤò¼õ¿®¤¹¤ë¤è¤¦¤Ë
-ÅÐÏ¿¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¡£
+が NULL で、かつ呼び出し元のプロセスがこのメッセージキューからの
+通知を受信するに現在登録している場合、登録を削除する。
+これ以降、別のプロセスがこのメッセージキューから通知を受信するように
+登録できるようになる。
 
 .\"O Message notification only occurs when a new message arrives and
 .\"O the queue was previously empty.
@@ -177,12 +177,12 @@ mq_notify \- 
 .\"O .BR mq_notify ()
 .\"O was called, then a notification will only occur after
 .\"O the queue is emptied and a new message arrives.
-¥á¥Ã¥»¡¼¥¸ÄÌÃΤϡ¢¤½¤ì¤Þ¤Ç¶õ¤Î¥­¥å¡¼¤Ë¿·¤·¤¤¥á¥Ã¥»¡¼¥¸¤¬ÅþÃ夷¤¿
-¾ì¹ç¤Ë¤Î¤ß¹Ô¤ï¤ì¤ë¡£
+メッセージ通知は、それまで空のキューに新しいメッセージが到着した
+場合にのみ行われる。
 .BR mq_notify ()
-¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿»þ¤Ë¤½¤Î¥­¥å¡¼¤¬¶õ¤Ç¤Ê¤¤¾ì¹ç¡¢
-¤½¤Î¥­¥å¡¼¤¬¶õ¤Ë¤Ê¤ê¡¢¤½¤Î¸å¿·¤·¤¤¥á¥Ã¥»¡¼¥¸¤¬ÅþÃ夷¤¿»þ¤Ë
-½é¤á¤ÆÄÌÃΤ¬¹Ô¤ï¤ì¤ë¤³¤È¤Ë¤Ê¤ë¡£
+が呼び出された時にそのキューが空でない場合、
+そのキューが空になり、その後新しいメッセージが到着した時に
+初めて通知が行われることになる。
 
 .\"O If another process or thread is waiting to read a message
 .\"O from an empty queue using
@@ -191,14 +191,14 @@ mq_notify \- 
 .\"O the message is delivered to the process or thread calling
 .\"O .BR mq_receive (3),
 .\"O and the message notification registration remains in effect.
-ÊÌ¤Î¥×¥í¥»¥¹¤ä¥¹¥ì¥Ã¥É¤¬
+別のプロセスやスレッドが
 .BR mq_receive (3)
-¤ò»È¤Ã¤Æ¡¢¶õ¤Î¥­¥å¡¼¤«¤é¥á¥Ã¥»¡¼¥¸¤ÎÆɤ߽Ф·¤òÂԤäƤ¤¤ë¾ì¹ç¡¢
-¥á¥Ã¥»¡¼¥¸ÄÌÃΤÎÅÐÏ¿¤ÏÁ´¤Æ̵»ë¤µ¤ì¤ë¡£
-¥á¥Ã¥»¡¼¥¸¤Ï
+を使って、空のキューからメッセージの読み出しを待っている場合、
+メッセージ通知の登録は全て無視される。
+メッセージは
 .BR mq_receive (3)
-¤ò¸Æ¤Ó½Ð¤·¤Æ¤¤¤ë¥×¥í¥»¥¹¤ä¥¹¥ì¥Ã¥É¤ËÇÛÁ÷¤µ¤ì¡¢
-¥á¥Ã¥»¡¼¥¸ÄÌÃΤÎÅÐÏ¿¤Ï¸úÎϤò»ý¤Ã¤¿¤Þ¤Þ¤È¤Ê¤ë¡£
+を呼び出しているプロセスやスレッドに配送され、
+メッセージ通知の登録は効力を持ったままとなる。
 
 .\"O Notification occurs once: after a notification is delivered,
 .\"O the notification registration is removed,
@@ -210,44 +210,44 @@ mq_notify \- 
 .\"O This should be done before emptying all unread messages from the queue.
 .\"O (Placing the queue in nonblocking mode is useful for emptying
 .\"O the queue of messages without blocking once it is empty.)
-ÄÌÃΤϰìÅÙ¤À¤±¹Ô¤ï¤ì¤ë¡£ÄÌÃΤ¬Á÷¤é¤ì¤¿¸å¤Ï¡¢ÄÌÃÎÍ×µá¤ÎÅÐÏ¿¤Ïºï½ü¤µ¤ì¡¢
-ÊÌ¤Î¥×¥í¥»¥¹¤¬¥á¥Ã¥»¡¼¥¸ÄÌÃΤò¼õ¿®¤¹¤ë¤è¤¦¤ËÅÐÏ¿¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¡£
-ÄÌÃΤò¼õ¤±¤¿¥×¥í¥»¥¹¤¬¼¡¤ÎÄÌÃΤâ¼õ¿®¤·¤¿¤¤¾ì¹ç¤Ï¡¢
+通知は一度だけ行われる。通知が送られた後は、通知要求の登録は削除され、
+別のプロセスがメッセージ通知を受信するように登録できるようになる。
+通知を受けたプロセスが次の通知も受信したい場合は、
 .BR mq_notify ()
-¤ò»È¤Ã¤Æ¤½¤Î¸å¤ÎÄÌÃΤâ¼õ¤±¤ë¤è¤¦¤ËÍ׵᤹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
+を使ってその後の通知も受けるように要求することができる。
 .BR mq_notify ()
-¤òºÆÅٸƤӽФ¹¤Î¤Ï¡¢Æɤ߽Ф·¤Æ¤¤¤Ê¤¤¥á¥Ã¥»¡¼¥¸¤òÁ´ÉôÆɤ߽Ф·¤Æ
-¥­¥å¡¼¤¬¶õ¤Ë¤Ê¤ëÁ°¤Ë¤¹¤Ù¤­¤Ç¤¢¤ë
-(¥­¥å¡¼¤«¤é¤Î¥á¥Ã¥»¡¼¥¸Æɤ߽Ф·¤ò¥­¥å¡¼¤¬¶õ¤Ë¤Ê¤Ã¤¿»þ¤Ë
-Ää»ß (block) ¤»¤º¤Ë¹Ô¤¦¤Ë¤Ï¡¢¥­¥å¡¼¤òÈóÄä»ß¥â¡¼¥É (non-blocking mode)
-¤ËÀßÄꤷ¤Æ¤ª¤¯¤È¤è¤¤)¡£
+を再度呼び出すのは、読み出していないメッセージを全部読み出して
+キューが空になる前にすべきである
+(キューからのメッセージ読み出しをキューが空になった時に
+停止 (block) せずに行うには、キューを非停止モード (non-blocking mode)
+に設定しておくとよい)。
 .\"O .SH RETURN VALUE
-.SH ÊÖ¤êÃÍ
+.SH 返り値
 .\"O On success
 .\"O .BR mq_notify ()
 .\"O returns 0; on error, \-1 is returned, with
 .\"O .I errno
 .\"O set to indicate the error.
-À®¸ù¤¹¤ë¤È¡¢
+成功すると、
 .BR mq_notify ()
-¤Ï 0 ¤òÊÖ¤¹¡£¥¨¥é¡¼¤Î¾ì¹ç¡¢\-1 ¤òÊÖ¤·¡¢
+は 0 を返す。エラーの場合、\-1 を返し、
 .I errno
-¤ò¥¨¥é¡¼¤ò¼¨¤¹ÃͤËÀßÄꤹ¤ë¡£
+をエラーを示す値に設定する。
 .\"O .SH ERRORS
-.SH ¥¨¥é¡¼
+.SH ã\82¨ã\83©ã\83¼
 .TP
 .B EBADF
 .\"O The descriptor specified in
 .\"O .I mqdes
 .\"O is invalid.
 .I mqdes
-¤Ë»ØÄꤵ¤ì¤¿¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬ÉÔÀµ¤Ç¤¢¤ë¡£
+に指定されたディスクリプタが不正である。
 .TP
 .B EBUSY
 .\"O Another process has already registered to receive notification
 .\"O for this message queue.
-ÊÌ¤Î¥×¥í¥»¥¹¤¬¤¹¤Ç¤Ë
-¤³¤Î¥á¥Ã¥»¡¼¥¸¥­¥å¡¼¤ËÂФ¹¤ëÄÌÃΤò¼õ¿®¤¹¤ë¤è¤¦¤ËÅÐÏ¿¤·¤Æ¤¤¤ë¡£
+別のプロセスがすでに
+このメッセージキューに対する通知を受信するように登録している。
 .TP
 .B EINVAL
 .\"O .I sevp\->sigev_notify
@@ -259,17 +259,17 @@ mq_notify \- 
 .\"O .I sevp\->sigev_signo
 .\"O is not a valid signal number.
 .I sevp\->sigev_notify
-¤¬µö²Ä¤µ¤ì¤¿ÃͤΤ¤¤º¤ì¤Ç¤â¤Ê¤¤¡£¤â¤·¤¯¤Ï
+が許可された値のいずれでもない。もしくは
 .I sevp\->sigev_notify
-¤¬
+が
 .B SIGEV_SIGNAL
-¤À¤¬
+だが
 .I sevp\->sigev_signo
-¤¬Í­¸ú¤Ê¥·¥°¥Ê¥ëÈÖ¹æ¤Ç¤Ï¤Ê¤¤¡£
+が有効なシグナル番号ではない。
 .TP
 .B ENOMEM
 .\"O Insufficient memory.
-ɬÍפʥá¥â¥ê¤¬¤Ê¤«¤Ã¤¿¡£
+必要なメモリがなかった。
 .PP
 .\"O POSIX.1-2008 says that an implementation
 .\"O .I may
@@ -281,29 +281,29 @@ mq_notify \- 
 .\"O is NULL, and the caller is not currently registered to receive
 .\"O notifications for the queue
 .\"O .IR mqdes .
-POSIX.1-2008 ¤Ç¤Ï¡¢
+POSIX.1-2008 では、
 .I sevp
-¤¬ NULL ¤Ç¡¢¸Æ¤Ó½Ð¤·¸µ¤Î¥×¥í¥»¥¹¤¬¥­¥å¡¼
+ã\81\8c NULL ã\81§ã\80\81å\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81\8cã\82­ã\83¥ã\83¼
 .I mqdes
-¤Ë´Ø¤¹¤ëÄÌÃΤò¼õ¿®¤¹¤ë¤è¤¦¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢¥¨¥é¡¼
+ã\81«é\96¢ã\81\99ã\82\8bé\80\9aç\9f¥ã\82\92å\8f\97ä¿¡ã\81\99ã\82\8bã\82\88ã\81\86ã\81«ç\99»é\8c²ã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84å ´å\90\88ã\80\81ã\82¨ã\83©ã\83¼
 .B EINVAL
-¤òÀ¸À®¤¹¤ë¤è¤¦¤Ê¼ÂÁõ¤ò¹Ô¤Ã¤Æ¤â¡Ö¤è¤¤¡×¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
-.\" Linux ¤Î¼ÂÁõ¤Ç¤Ï EINVAL ¤ÏÀ¸À®¤µ¤ì¤Ê¤¤
+を生成するような実装を行っても「よい」ことになっている。
+.\" Linux の実装では EINVAL は生成されない
 .\"O .SH CONFORMING TO
-.SH ½àµò
+.SH 準拠
 POSIX.1-2001.
 .\"O .SH EXAMPLE
-.SH Îã
+.SH 
 .\"O The following program registers a notification request for the
 .\"O message queue named in its command-line argument.
 .\"O Notification is performed by creating a thread.
 .\"O The thread executes a function which reads one message from the
 .\"O queue and then terminates the process.
-°Ê²¼¤Î¥×¥í¥°¥é¥à¤Ï¡¢
-¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¤­¿ô¤Ç»ØÄꤵ¤ì¤¿Ì¾Á°¤Î¥á¥Ã¥»¡¼¥¸¥­¥å¡¼¤Ø¤Î
-ÄÌÃÎÍ×µá¤òÅÐÏ¿¤·¡¢ÄÌÃΤϥ¹¥ì¥Ã¥É¤ÎºîÀ®¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤ë¡£
-¤½¤Î¥¹¥ì¥Ã¥É¤Ï¡¢¤½¤Î¥­¥å¡¼¤«¤é¥á¥Ã¥»¡¼¥¸¤ò°ì¤ÄÆɤ߽Ф·¤Æ¤«¤é¡¢
-¥×¥í¥»¥¹¤ò½ªÎ»¤¹¤ë´Ø¿ô¤ò¼Â¹Ô¤¹¤ë¡£
+以下のプログラムは、
+コマンドライン引き数で指定された名前のメッセージキューへの
+通知要求を登録し、通知はスレッドの作成によって行われる。
+そのスレッドは、そのキューからメッセージを一つ読み出してから、
+プロセスを終了する関数を実行する。
 .nf
 
 #include <pthread.h>
@@ -316,7 +316,7 @@ POSIX.1-2001.
     do { perror(msg); exit(EXIT_FAILURE); } while (0)
 
 .\"O static void                     /* Thread start function */
-static void                     /* ¥¹¥ì¥Ã¥É³«»Ï´Ø¿ô */
+static void                     /* スレッド開始関数 */
 tfunc(union sigval sv)
 {
     struct mq_attr attr;
@@ -325,8 +325,8 @@ tfunc(union sigval sv)
     mqd_t mqdes = *((mqd_t *) sv.sival_ptr);
 
 .\"O     /* Determine max. msg size; allocate buffer to receive msg */
-    /* ºÇÂç¥á¥Ã¥»¡¼¥¸¥µ¥¤¥º¤ò·èÄꤷ¡¢
-       ¥á¥Ã¥»¡¼¥¸¼õ¿®ÍѤΥХåե¡¤ò³ÎÊݤ¹¤ë */
+    /* 最大メッセージサイズを決定し、
+       メッセージ受信用のバッファを確保する */
 
     if (mq_getattr(mqdes, &attr) == \-1)
         handle_error("mq_getattr");
@@ -341,7 +341,7 @@ tfunc(union sigval sv)
     printf("Read %ld bytes from MQ\\n", (long) nr);
     free(buf);
 .\"O     exit(EXIT_SUCCESS);         /* Terminate the process */
-    exit(EXIT_SUCCESS);         /* ¥×¥í¥»¥¹¤ò½ªÎ»¤¹¤ë */
+    exit(EXIT_SUCCESS);         /* プロセスを終了する */
 }
 
 int
@@ -363,16 +363,16 @@ main(int argc, char *argv[])
     sev.sigev_notify_function = tfunc;
     sev.sigev_notify_attributes = NULL;
 .\"O     sev.sigev_value.sival_ptr = &mqdes;   /* Arg. to thread func. */
-    sev.sigev_value.sival_ptr = &mqdes;   /* ¥¹¥ì¥Ã¥É´Ø¿ô¤ËÅϤ¹°ú¤­¿ô */
+    sev.sigev_value.sival_ptr = &mqdes;   /* スレッド関数に渡す引き数 */
     if (mq_notify(mqdes, &sev) == \-1)
         handle_error("mq_notify");
 
 .\"O     pause();    /* Process will be terminated by thread function */
-    pause();    /* ¥×¥í¥»¥¹¤Ï¥¹¥ì¥Ã¥É´Ø¿ô¤Ë¤è¤ê½ªÎ»¤µ¤ì¤ë */
+    pause();    /* プロセスはスレッド関数により終了される */
 }
 .fi
 .\"O .SH "SEE ALSO"
-.SH ´ØÏ¢¹àÌÜ
+.SH 関連項目
 .BR mq_close (3),
 .BR mq_getattr (3),
 .BR mq_open (3),