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

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ライブラリの制御が正常に行えなくなる可能性があります。