スレッドモードのアプリケーションを作成する場合は、以下のライブラリと結合する必要があります。
ライブラリ(インストールパスはデフォルト)
libthread.so /opt/FSUNod/lib/libOM.so(必須)
libthread.so /opt/FJSVod/lib/libOM.so(必須)
ポイント
結合されているライブラリは、lddコマンドで確認します。
C/C++アプリケーションのコンパイル時は、-D_REENTRANT宣言が必要です。詳細については、システムのスレッドプログラミングに関するマニュアルなどを参照してください。
プロセスモードのアプリケーションを作成する場合は、以下のライブラリと結合する必要があります。
ライブラリ(インストールパスはデフォルト)
/opt/FSUNod/lib/nt/libOM.so(必須)
/opt/FJSVod/lib/nt/libOM.so(必須)
注意
作成したアプリケーションを動作させるときには、LD_LIBRARY_PATH=$OD_HOME/lib/ntを設定する必要があります。
ポイント
結合されているライブラリは、lddコマンドで確認します。
スレッドモードのサーバアプリケーションからさらにスレッドを生成する場合、以下のスレッドライブラリを使用します。
スレッドライブラリ | thr_create |
指定フラグ | THR_NEW_LWP(新しいスレッドをLWPに固定的に結合します。) |
THR_BOUND(非結合スレッドの並行度を1つ増やします。) |
設定していない場合は、CORBA_ORB_init()が例外UNKNOWNでエラー復帰します。
スレッドライブラリ | pthread_create |
プロセスモードのサーバアプリケーションから、さらにプロセスを生成する場合は、fork(システムコール)を使用します。
(5) プロセスアプリケーションの登録時の注意事項
プロセスモードのアプリケーションをshared/unsharedタイプ(persistent以外)としてインプリメンテーションリポジトリに登録する方法について説明します。
アプリケーションの種類に合わせて定義ファイルを作成し、OD_impl_instコマンドの-axオプションで登録します。
OD_impl_inst -ax 定義ファイル
以下に定義ファイルの例を示します。以下の設定項目は、最低限必要です。他の設定項目は、必要に応じて設定します。
例
rep_id = インプリメンテーションリポジトリID type = サーバタイプ binary = アプリケーションのパス env = LD_LIBRARY_PATH=/opt/FSUNod/lib/nt
rep_id = インプリメンテーションリポジトリID type = サーバタイプ binary = アプリケーションのパス env = LD_LIBRARY_PATH=/opt/FJSVod/lib/nt