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

Tuxedo C リファレンス

 Previous Next Contents View as PDF  

tpsvrthrinit(3c)

名前

tpsvrthrinit()−BEA Tuxedo ATMI サーバのスレッドの初期化

形式

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

機能説明

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

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

tpsvrthrinit() は、シングルスレッド・サーバでも呼び出されます。シングルスレッド・サーバでは、tpsvrthrinit() はデフォルト・バージョンの tpsvrinit() から呼び出されます。複数のディスパッチ・スレッドが予測されるサーバでは、tpsvrinit()tpsvrthrinit() を呼び出しません。

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

tpsvrthrinit() でエラーが生じた場合、アプリケーションから -1 を返して正常に (サービス要求をとらずに) サーバのディスパッチ・スレッドを終了させることができます。アプリケーションが、exit() やその他オペレーティング・システムのスレッド終了関数を呼び出してはいけません。

戻り値

負の戻り値によって、サーバのディスパッチ・スレッドは正常に終了します。

使用法

サービス・ルーチンの外側で使用された場合 (たとえば、クライアントまたは tpsvrinit()tpsvrdone()tpsvrthrinit()tpsvrthrdone() で使用された場合)、tpreturn()tpforward() 関数は単純に返るだけで影響はありません。

関連項目

tpforward(3c)tpreturn(3c)tpsvrthrdone(3c)tpsvrthrinit(3c)tx_open(3c)servopts(5)

C 言語リファレンス・マニュアルの getopt(3)

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy