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

Tuxedo C リファレンス

 Previous Next Contents View as PDF  

tpfree(3c)

名前

tpfree()−型付きバッファの解放を行うルーチン

形式

#include <atmi.h> 
void tpfree(char *ptr)

機能説明

tpfree() の引数は、以前に tpalloc() または tprealloc() によって得られたバッファを指すポインタです。ptr が NULL の場合は、動作は行われません。ptr が型付きバッファを指していない場合 (または、その前に tpfree() を使用して解放した領域を指している場合)、不定の結果が発生します。サービス・ルーチン内では、ptr がサービス・ルーチンに渡されたバッファを指している場合、tpfree() は単に終了し、そのバッファを解放しません。

ある種のバッファ・タイプは、バッファの解放処理の一環として、状態情報あるいは関連するデータを削除する必要があります。tpfree() は、バッファを解放する前にこうした関連情報を (通信マネージャ固有の方法に従って) 削除します。

tpfree() が終了した後は、ptr を BEA Tuxedo ATMI システムのルーチンの引数として使用したり、その他の方法で使用したりしないようにしてください。

マルチスレッドのアプリケーション中のスレッドは、TPINVALIDCONTEXT を含め、どのコンテキスト状態で実行していても、tpfree() の呼び出しを発行できます。

tpfree() を使用して FML32 バッファを解放するとき、ルーチンは埋め込まれたバッファをすべて再帰的に解放して、メモリ・リークの発生を防ぎます。埋め込まれたバッファが解放されないようにするには、対応するポインタに NULL を指定してから tpfree() コマンドを発行します。上記で説明したように、ptr が NULL の場合アクションは発生しません。

戻り値

tpfree() は、呼び出し側に値を返しません。したがって、この関数は、void で宣言されています。

使用法

この関数を、C ライブラリの malloc()realloc()、または free() と組み合わせて使用するのは避けてください (tpalloc() で割り当てたバッファを、free() を使用して解放しないでください)。

関連項目

C 言語アプリケーション・トランザクション・モニタ・インターフェイスについて」、tpalloc(3c)tprealloc(3c)

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy