# ロック方法

HULFTにて使用しているロック方法について説明します。

詳細は「HULFTとユーザージョブ間での排他制御について」を参照してください。

HULFT for zOS

共有モード（DISP=SHR）または占有モード（DISP=OLD）による割り当てをファイルオープン前に行います。

HULFT for IBMi

ALCOBJコマンドによるロックをファイルオープン前にかけます。

HULFT for Linux/AIX

ローカルファイルのロック方法

lockf()関数によるロックをファイルオープン後にかけます。lockf()関数にてロックをかけ、ロックを解放せずにファイルをクローズした場合、このロックは自動的に解放されます。なお、ラージファイル対応OSでは、lockf64()関数を使用しております。

集信ファイルにおいては、lockf()関数によるロック方式に加え、実ファイル名に対するHULFT独自のロックを、ファイルオープン前にかけます。このロックは、HULFT Ver.6.3.1から適用されており、HULFTの集信システム内における集信ファイルのロック方式です。このロックの場合、集信ファイルロック制御ファイル（HULPATH/.#hulrcv_file.lock）でロックを制御します。

= 備考 =

集信ファイルにおけるユーザージョブとの排他制御に関しては、lockf()関数を使用したロック方式での連携を行ってください。実ファイル名に対するHULFT独自のロック方式は使用できません。

ネットワークファイルのロック方法

HULFTのネットワークファイルロックをかけます。さらに、lockf()関数によるロックをファイルオープン後にかけます。

注意

ネットワークファイルは、HULFT10のEnterpriseグレードを導入している場合に使用できます。

HULFT for Windows

ローカルファイルのロック方法

ミューテックスオブジェクトによるロックをファイルオープン前にかけます。

さらに、ファイルオープン時にCreateFile()関数による共有モードの設定を行います。

ネットワークファイルのロック方法

ファイルオープン前に、ミューテックスオブジェクトによるロックをかけ、続いてHULFTのネットワークファイルロックをかけます。

さらに、ファイルオープン時にCreateFile()関数による共有モードの設定を行います。

注意

ネットワークファイルは、HULFT10のServerグレードを導入している場合に使用できます。