ページの先頭行へ戻る
Interstage Application Server アプリケーション作成ガイド(CORBAサービス編)
Interstage

2.1.2 シグナル処理( C, C++, Java, COBOL )


C言語のCORBAアプリケーションでは、SIGCHLDシグナルを受信できます。その他の言語では、シグナルを受信するアプリケーションを作成できません。

シグナルハンドラで使用できる関数は、「非同期シグナル安全」(Async-Signal-Safe)関数だけです。Async-Signal-Safeの関数は、オンラインマニュアルattributes(5)で確認できます。printf、malloc、freeなどの標準Cライブラリ関数やCORBAのAPIを呼び出すことは許されていないため、注意してください。



シグナルを受信するアプリケーションを作成できません。

いくつかのOS関数は、シグナルを受信するとエラー情報にEINTRを設定して失敗します。CORBAのライブラリでは、OS関数がEINTRで失敗した場合もリトライ処理などを対応していますが、LinuxではOS自体の修正が行われた場合に、シグナル受信時のOS関数の動作が変わる可能性があります。この場合、シグナル受信時にCORBAライブラリの制御が正常に行えなくなる可能性があります。