【Perl】ファイルロック(排他処理)について語ろうat PHP【Perl】ファイルロック(排他処理)について語ろう - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト66:fusianasan 02/06/26 20:08 >65 リネームに成功したかどうか、結果を確認できていない。 もしAというプロセスが10分以上前と判断した状態でプロセスを次に渡して、 Bというプロセスがリネームまで成功してCというプロセスが$lockdir2を作って しまったら、Aというプロセスもリネームできてしまいロックできないのでは? 67:「このサイトの人」 02/06/26 22:17 uIGx/rWA >>66 なるほど。rename失敗までは考えていませんでした。 となると、プロセスAが$lockdir2を作り、かつrename失敗すると、 古い$lockdirと $lockdir2と両方が残りますね。デッドロックには なりますが、次のプロセスは入って来れないんじゃないでしょうか? 「$lockdir2を消す」「$lockdirの作成時間を変える」をrenameで いっぺんに行ってますが、$lockdir2 が消え$lockdirが更新されな い、というrename失敗はあり得ますか? あるいは、rename失敗時にはアトミックではなくなるとか? 68:fusianasan 02/06/26 22:39 >67 わかった? プロセスA:作成時間が10分以上前と判断して処理を次へ渡す プロセスB:作成時間が10分以上前と判断してリネームまで成功 プロセスC:$lockdir2を作成後、作成時間が10分以上前ではないからはじかれる プロセスA:$lockdir2が存在するからリネーム成功 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch