Interstage Application Server アプリケーション作成ガイド (CORBAサービス編) |
目次
索引
![]() ![]() |
第2章 CORBAアプリケーション開発時の留意事項 | > 2.1 コーディング |
CORBAアプリケーションより生成した子プロセスを終了する際には、exit() ではなく、_exit() を使用するようにしてください。exit() を使用した場合、子プロセスが終了した際に親プロセスも終了したと誤認されてしまい、その後の動作は保証されません。
プロセスモードのサーバアプリケーションから子プロセスを生成する場合はfork()を使用してください。スレッドモードのサーバアプリケーションの場合は、fork()ではなくfork1()を使用してください。
スレッドモードのサーバアプリケーション内から、さらにスレッドを生成する場合は、thr_create() の引数としてTHR_NEW_LWPおよびTHR_BOUNDフラグを指定する必要があります。
CORBA_ORB_init関数(C++ではCORBA::ORB::init関数)発行後に子プロセスを生成する場合は、_spawn系関数(_spawn関数、_spawnl関数等)は使用しないでください。_spawn系関数はハンドル等を親プロセスから引き継ぐ仕様となっているため、CORBAサービスの制御が正常に行えなくなります。
CORBA_ORB_init関数(C++ではCORBA::ORB::init関数)発行後にプロセスを生成する場合はCreateProcess関数を使用してください。
目次
索引
![]() ![]() |