システム V メッセージ キューを使用しています。私のプログラムでは、1 つのスレッドが継続的にメッセージ キューにデータを追加し、別のスレッドがメッセージ キューからデータを取り出します。
私のメッセージキュー構造のフォーマットは
struct mymsgbuf {
long mtype;
char mtext[MAX_SEND_SIZE];
};
メッセージから取得するときmtext
、に依存する昇順でデータを取得する必要がありますtag
。
メッセージ キューの受信
q_ret = msgrcv(msgqueue_id, (struct mymsgbuf *)&recvbuf, MAX_SEND_SIZE, 0, 0)
上記の形式は、メッセージ キューに送信された最初のデータから返されます。
メッセージキューを昇順で受信するテクニックはありますか?