bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo C リファレンス

 Previous Next Contents View as PDF  

tpsvrinit(3c)

名前

tpsvrinit()−BEA Tuxedo システム・サーバの初期化

形式

#include <atmi.h> 
int tpsvrinit(int argc, char **argv)

機能説明

BEA Tuxedo ATMI システムのサーバ用ルーチンは、その初期化処理中に tpsvrinit() を呼び出します。このルーチンは、サーバに制御が移った後、サービス要求を処理する前に呼び出されます。このため、BEA Tuxedo ATMI システムとのコミュニケーションとトランザクションの定義をこのルーチンで行うことができます。ただし、接続がオープン状態にあるとき、保留中の非同期応答があるとき、あるいはまだトランザクション・モードにあるときに tpsvrinit() が戻った場合、BEA Tuxedo ATMI システムはその接続をクローズし、保留中の応答を無視し、サーバが終了する前にトランザクションをアボートします。

アプリケーションがこのルーチンをサーバで提供していない場合、BEA Tuxedo ATMI システムが提供するデフォルトのバージョンが代わりに呼び出されます。

サーバがシングルスレッド・サーバとして定義されている場合、デフォルトの tpsvrinit()tpsvrthrinit() を呼び出し、デフォルト・バージョンの tpsvrthrinit()tx_open() を呼び出します。サーバがマルチスレッド・サーバとして定義されている場合、tpsvrthrinit() は各サーバのディスパッチ・スレッドで呼び出されますが、tpsvrinit() からは呼び出されません。サーバがシングルスレッドかマルチスレッドかに関わらず、デフォルト・バージョンの tpsvrinit()userlog() を呼び出してサーバが正常に開始したことを示します。

アプリケーション固有のオプションをサーバに渡し、tpsvrinit() で処理させることができます (servopts(5) 参照)。このオプションは argcargv を使用して渡します。getopt() が BEA Tuxedo ATMI システムのサーバ用ルーチンで使用されているため、optarg()optind() および opterr() を使用してオプションの解析やエラー検出を tpsvrinit() で制御できます。

tpsvrinit() でエラーが生じた場合、アプリケーションから -1 を返して明示的にサーバを終了させることができます (サービス要求をとらずに)。アプリケーション自体では exit() を呼び出さないようにしてください。

tpsvrinit() が -1 を返した場合、サーバはシステムによって再起動されません。代わりに、管理者が tmboot を実行してサーバを再起動する必要があります。

戻り値

負の戻り値は、サーバを適切に終了させます。

使用法

tpreturn()tpforward() がサービス・ルーチンの外部 (たとえば、クライアントや tpsvrinit()、あるいは tpsvrdone() で) 使用された場合、tpreturn() および tpforward() は何も行わずただちに戻ります。

関連項目

tpopen(3c)tpsvrdone(3c)tpsvrthrinit(3c)servopts(5)
C 言語リファレンス・マニュアルの getopt(3)

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy