- 締切済み
POSIX メッセージキュー作成時の払い出しディスクリプタ
現在、Linux(Fedora 7)の環境でPOSIXのメッセージキューを用いたプロセス間通信のプログラムを作成しています。 mq_openでメッセージキューをオープンしているのですが、 異なるプロセスですでに開かれているキューをオープンした時に、 最初にオープンしたキューと異なる値のディスクリプタが払い出されてしまいます。(その際のディスクリプタの値は他のキューの値になっていたりもします。) 例) <プロセスA(プロセスBより先に実行)> mqd = mq_open( "/sample001", O_RDWR|O_CREAT, S_IRWXU, &mqattr); printf("Process A mqd = %d", mqd); <プロセスB> mqd = mq_open("/sample001", O_RDWR); printf("Process B mqd = %d", mqd); <実行結果> Process A mqd = 10 Process B mqd = 14 何か心当たりはありませんでしょうか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- chie65536(@chie65535)
- ベストアンサー率44% (8812/19983)
回答No.1