Quantcast
Channel: 楽天 みんなで解決!Q&A 新着質問([技術者向] コンピューター/205)
Viewing all articles
Browse latest Browse all 29232

msgrcvのエラーでerrがEINTRのとき

$
0
0
Linuxプログラミングの勉強をしており、msgsndとmsgrcvを使ったプログラムを作成しています。 メインスレッドからmsgrcvを繰り返し行う関数を別スレッドで呼び出すようにし、 メインスレッド、またはそのほかのスレッドからメッセージキューを投げるようなプログラムです。 そのときにたまにmsgrcvでエラーが返り、かつerrnoを確認するとEINTR(4)が返るときがあります。 msgrcvの使用をwebで調べたところ、 「メッセージ・キューが要求した条件を満たすまで停止している時に、 プロセスがシグナルを捕獲した。」 となっていました。 特にシグナルを投げるようなこともしていないのですが、 たまにこの現象が発生します。 なぜこのような現象が発生するのか? その際にどのような対処をしているのか 経験のある方ご教示いただけませんでしょうか? ※補足 ・環境:CentOS 6.2 ・コンパイラ:gcc ・ライブラリ:glbc

Viewing all articles
Browse latest Browse all 29232

Trending Articles