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

11.6.1 スレッドモード・プロセスモードのアプリケーションの作成

(1) スレッドモードの場合

スレッドモードのアプリケーションを作成する場合は、以下のライブラリと結合する必要があります。

ライブラリ(インストールパスはデフォルト)

libthread.so
/opt/FSUNod/lib/libOM.so(必須)

libthread.so
/opt/FJSVod/lib/libOM.so(必須)

ポイント

結合されているライブラリは、lddコマンドで確認します。

C/C++アプリケーションのコンパイル時は、-D_REENTRANT宣言が必要です。詳細については、システムのスレッドプログラミングに関するマニュアルなどを参照してください。


(2) プロセスモードの場合

プロセスモードのアプリケーションを作成する場合は、以下のライブラリと結合する必要があります。

ライブラリ(インストールパスはデフォルト)

/opt/FSUNod/lib/nt/libOM.so(必須)

/opt/FJSVod/lib/nt/libOM.so(必須)

注意

作成したアプリケーションを動作させるときには、LD_LIBRARY_PATH=$OD_HOME/lib/ntを設定する必要があります。

ポイント

結合されているライブラリは、lddコマンドで確認します。


(3) スレッドアプリケーションからのスレッド生成

スレッドモードのサーバアプリケーションからさらにスレッドを生成する場合、以下のスレッドライブラリを使用します。

スレッドライブラリ

thr_create

指定フラグ

THR_NEW_LWP(新しいスレッドをLWPに固定的に結合します。)

THR_BOUND(非結合スレッドの並行度を1つ増やします。)

設定していない場合は、CORBA_ORB_init()が例外UNKNOWNでエラー復帰します。


スレッドライブラリ

pthread_create


(4) プロセスアプリケーションからのプロセス生成

プロセスモードのサーバアプリケーションから、さらにプロセスを生成する場合は、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