LOCK命令
現在、unipassからXPA4.9へマイグレーションしております。
他システム(XPA4.9)で問題なくLockができておりますが
今回のシステムでは、Lock命令で戻り値=2になります。
例)メインプログラム
RUNMODE()=0:実行版のとき
Lock (システム名&端末番号, タイムアウトゼロ)
戻り値 2 …別のセッションで同じリソースにロックがかかっていて、
待ち時間がタイムアウトを越えた場合(ロックは失敗)
とくにメインプログラムやINI設定で特別なことは、しておりません。
何かこころあたりなどありますでしょうか?
-
xpa4.9ではないのですが、xpa3.2でLock関数を使っているシステムがあり、そのINIファイルを
見てみますと、ResourceLockFilePath = ¥¥hogehoge-srv¥marubatu¥mgres.loc といった
設定をして実現しておりました。 -
ありがとうございます。
ResourceLockFilePathの場所を指定しましたが結果は同じでした。
他システム(XPA4.9)では問題ないのでカレントフォルダ環境他を調査してみます。 -
umemoriさん、
mgres.locがロック情報を持ったまま、異常終了してしまっているということはありませんか?
そのファイルを物理的に削除して、試してみる価値はありそうです。あと、mgres.locはすべてのクライアントから見て、物理的に同じパスを指し示している必要がありますが、その点は大丈夫ですか?
-
いつもありがとうございます。いまいちどトライしてみます。
-
システムを1台も起動していないのにResourceLockFilePath で指定したファイルがもし存在したら1度削除するのがいいと思います。
ある客先は、毎朝システムを起動していますが、その日最初に起動した時刻でmglock.datとmgres.locが存在しています。
全員がシステムを閉じるとmglock.datとmgres.locが消えています。
サインインしてコメントを残してください。
コメント
5件のコメント