私設SoS2オーナー応援BBS

新規発言一覧最新記事過去一覧検索ダウンロードページHOME

スレッド

└◇187:
AddFlagの「ロック失敗」エラー [moon] 11/30 13:03

 ├◇188:追伸 [moon] 11/30 13:55
 └◇189:Re:AddFlagの「ロック失敗」エラー [ふじこ] 11/30 21:29
  └◇190:Re[2]:AddFlagの「ロック失敗」エラー [moon] 11/30 22:22
   └◇191:Re[3]:AddFlagの「ロック失敗」エラー [ふじこ] 12/01 04:20
    └◇192:Re[4]:AddFlagの「ロック失敗」エラー [moon] 12/01 11:47<-last


187● AddFlagの「ロック失敗」エラー[ moon ] 2002 11/30 13:03
> 質問です
> 実行すると「ロック失敗」と出てしまい、できないのですが
> 何が原因なのでしょうか?
> すいません、わからなくて(><)

sub lockの、
  &error("ロック失敗") if(-d $lockfile || !mkdir($lockfile,0755));
を、
  &error("ロック失敗") if(-d $lockfile || !mkdir($lockfile,0***)); # ***はsos2.cgiでロックファイルを作成するときと同じパーミッション
もしくは、
  &error("ロック失敗") if(-d $lockfile || !mkdir($lockfile,0666));
に変更してください。
たぶん、これで大丈夫だと思います。
スレッド一覧


188● 追伸[ moon ] 2002 11/30 13:55
使用する場合は、万が一のため全てのデータのバックアップを取っておいたほうが良いですよ。
スレッド一覧


189● Re:AddFlagの「ロック失敗」エラー[ ふじこ ] 2002 11/30 21:29
>   &error("ロック失敗") if(-d $lockfile || !mkdir($lockfile,0***)); # ***はsos2.cgiでロックファイルを作成するときと同じパーミッション

sos2では606だったので、同じくしたのですができませんでした。
666でもやってみたのですがやはりダメでした。
他に何かいけないところがあるのでしょうか?(><)
申し訳ありません
スレッド一覧


190● Re[2]:AddFlagの「ロック失敗」エラー[ moon ] 2002 11/30 22:22
> >   &error("ロック失敗") if(-d $lockfile || !mkdir($lockfile,0***)); # ***はsos2.cgiでロックファイルを作成するときと同じパーミッション
>
> sos2では606だったので、同じくしたのですができませんでした。
> 666でもやってみたのですがやはりダメでした。
> 他に何かいけないところがあるのでしょうか?(><)
> 申し訳ありません

確認事項として、
  &error("ロック失敗") if(-d $lockfile || !mkdir($lockfile,0***));
を、
  &error("ロック失敗") if(-d $lockfile);
  &error("test error");
に変更して実行してください。(コピペだと全角空白が入るので半角に直してください。)
で、結果が'ロック失敗'ならsos2のロックファイルが既に存在しているため(誰かがプレイ中)のエラー、'test error'ならロックファイルが作成できないため(作成先ディレクトリのパーミッションが変?)のエラーということです。
前者なら誰もプレイしていないときに実行すれば良く、後者の場合はaddflag.cgiをsos2.cgiと同じディレクトリにおいてみれば良いと思います。

それでもエラーが出る場合の最終手段として、&error("ロック失敗") if(-d $lockfile || !mkdir($lockfile,0***));をコメントアウトして誰もプレイしていないときに実行してみてください。(かなり危ないです。)
もちろん実行前にユーザデータを完全バックアップ。
スレッド一覧


191● Re[3]:AddFlagの「ロック失敗」エラー[ ふじこ ] 2002 12/01 04:20
test error
が出ました
作成先ディレクトリのパーミッションが変?
とお答え下さいましたが、どう変なのでしょうか(><)
addflag.cgiをsos2.cgiも同じディレクトリに置いています
スレッド一覧


192● Re[4]:AddFlagの「ロック失敗」エラー[ moon ] 2002 12/01 11:47
> test error
> が出ました
> 作成先ディレクトリのパーミッションが変?
> とお答え下さいましたが、どう変なのでしょうか(><)
> addflag.cgiをsos2.cgiも同じディレクトリに置いています

う〜ん、sos2.cgiと同じディレクトリならパーミッションは適切なはずですね・・・。
それならば、
  $lockfileをsos2.cgiの$lockfileと同じにする。(デフォルトでは同じはずですが)
そして、
  &error("ロック失敗") if(-d $lockfile || !mkdir($lockfile,0***));
を、
  &error("ロック失敗") if(!mkdir($lockfile,0***)); # !mkdirはsos2.cgiのsub lockのwhile(〜)の'〜'と同じにする
に変更する。

お手数をかけてすみません。
0755の問題以外は不明なもので・・・。
スレッド一覧

CGIROOM