CGI-BBS > アクセスカウンタ > SSI式カウンタ > SSIカウンタでのmkdirを使ったロック


カレッヂ
カレッヂ


質問者 tomoya  投稿日 6/29(金) 03:05:20
SSIカウンタで、mkdirを使ってのロックは可能なのでしょうか?
public_htmlの中のトップページから、mkdirをつかったCGIをフルパスで呼んでいるのですが、どうしてもディレクトリが作れません。
mkdir自体は動作するのですが、SSIから呼ぶと機能してくれないみたいです。
ディレクトリの作成場所に問題があるのでしょうか?
よろしくお願いします。
回答者 まさ  [削除]  投稿日 6/29(金) 14:04:14
mkdirを実際に使っているスクリプトを書いて置いてください。
それを見ないと何とも。

こんなんでいいんじゃないですか?

my($retry) = 5;
while (!mkdir($lockfile, 0755)) {
        if (--$retry <= 0) { &error('Lock is busy'); }
        sleep(1);
}

$lockfileは
$lockfile = './lock/foo.lock';
とでもしておいて問題ないでしょう。

ディレクトリーが作れないのはロックディレクトリーのパーミッションを777に
していないとか?

質問者 tomoya  [削除]  投稿日 6/29(金) 18:59:52
まささん、ありがとうございました。
えっと、結果から報告しますと、
ロックディレクトリが作成されるフォルダのパーミッションを、
777にしていなかったのが原因でした、、、
そうですよね〜、お馬鹿でした。
foreach(1..$retry_cnt){
    if(mkdir($lockdir,0755)){
    $lock_flg = 1;
    last;
    }else{
    sleep($sleep_sec);
    }
}
こんな感じでした。
かなりとちりますので、今後ともよろしくお願いしますです、はい。

このページは終了したので返信(回答)は書きこめません

Web裏技