私設SoS2オーナー応援BBS

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

スレッド

└◇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


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