bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > Tuxedo C リファレンス > セクション 3c - C 関数 |
Tuxedo C リファレンス
|
名前
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) 参照)。このオプションは argc と argv を使用して渡します。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)
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |