[Armadillo:08721] msgsndでEINVALになることがある
Yamamoto
email@hidden
2013年 4月 9日 (火) 10:02:17 JST
Yamamotoです。
Armadillo-460用にC言語で開発しています。
処理中でプロセンス間の通信用にメッセージキューを使用しようとしているのですが、時
々msgsndで-1エラーでerrno=EINVALになってしまうことがあります。
確認用の単独動作の確認もしているのですが、上手く動作する時はまったくエラー発生せ
ず。
エラーが発生すると以降、ずっとエラーになります。
以下、処理抜粋です。
slKeyはファイルからftokでipcキー生成により生成しています。
ulMsgId = msgget( slKey, 0666|IPC_CREAT ) );
//ulSize=74
//tpMsgBuff=char配列のデータ
if ( msgsnd( ulMsgId, &tpMsgBuff, ulSize, 0 ) == -1 )
{
printf("errno=%d <0x%X | %ld> %lu", errno, ulMsgId, ulSize);
}
ulMsgId, ulSizeとも不審な値ではなかったです。
何かご存知の方居られましたら、調べるところとか教えていただけないでしょうか?
armadillo メーリングリストの案内