08/09/23 15:47:31
>>12
ないですか。
ファイルロックをする関数でflockが有効ならflockを、そうでなければ、ファイル名をベースにした
ディレクトリ作成をしようと思いました。
sub lock {
my $fh = shift;
if ($valid_flock) {
flock($fh, 2);
} else {
my $file_name = xxxxxx $fh;
my $lockdir = $file_name."dir";
my $retry = 5; # リトライ回数セット
while (!mkdir($lockdir, 0755)) { # 作成。出来なければ待つ
if (--$retry <= 0) { &error("BUSY"); } # 5回ダメならあきらめる
sleep(1); # 1秒待つ
}
}