Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Server Base Enterprise Option プログラム作成の手引


2.10.6 排他のテスト

資源の排他をする関数(ee_lck_get関数)で,資源を排他できるかどうかをテスト(flagsにEELCK_TESTを設定)できます。この場合ee_lck_get関数は,資源を確保できる状態でも実際に排他をしないで正常終了します。指定した資源がほかのUAPから排他されている場合は,排他待ちの指定の有無に関係なくEELCKER_WAIT(00450)でエラーリターンとなります。そのほか,テストの排他の場合は次に示すリターン値が戻ります。なお,タイムアウトおよびメモリ不足のエラーリターンはしません。

注意事項

排他のテストは,排他できる状態かどうかを知るために行います。排他のテストが正常終了したことで,それ以降の排他要求が正常終了するかどうかは保証されません。また,排他のテストが正常終了しても,実際には資源は占有されていません。そのため,排他のテストが正常終了したあとに排他を解除する関数(ee_lck_release_all関数,ee_lck_release_byname関数)を呼び出すとエラーリターンします。