ロック方法

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

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

HULFT for Mainframe

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

HULFT for IBMi

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

HULFT for UNIX/LinuxまたはHULFT for NSK

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

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

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

HULFT for NSKでは、lockf()、lockf64()関数の代わりに、fcntl()関数を使用しています。動作仕様はHULFT for UNIX/Linuxと同等です。

= 備考 =

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

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

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

注意

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

HULFT for Windows

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

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

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

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

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

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

注意

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