自作アプリ間でsendmsgによるやりとりを行っているのですが、
それがちょっと不思議な動作をしているのです。(´・ω・`)
2つのアプリ(仮にアプリA、Bとします)があります。
アプリAがメインで、ユーザインターフェースなどを担っています。
アプリBはバックグラウンドで行いたい処理の塊になっていて、アプリAからのメッセージを
トリガーにしていろんな処理を裏方で行います。
双方のアプリ間のやりとりにはsendmsgを使っています。
そういう仕組みのアプリは何度か作っており、今まではうまくいけてました。
ところがなぜか、アプリAが一時的に固まってしまう、という現象がおきたのです。
最初はなんで固まるのかわからなかったのですが、原因を調べる過程でためしに、アプリAの
sendmsg命令の直後に確認ダイアログを出すようにしてみたんです。そうすると、sendmsg直後から
アプリBの処理終了まで無反応、そして処理終了直後にダイアログが出ました。
「え、なんでアプリBの処理を待ってんの?Σ(´Д`u)」
アプリBはバックグラウンド処理だけをするので、アプリAに対して一切の返事を返しませんし、
アプリAもそれを前提で組んでいます。
実はsendmsg命令って、必ず相手側からの何らかの返事を待機する構造になってるんでしょうか?
似た現象を経験された方がいらっしゃいましたら、「こういうミスしてんじゃねーのバーカ」などの
ご意見をいただければ幸いに思います。(;ω;)