【PHP】下らねぇ質問はここに書き込みやがれ 5at TECH
【PHP】下らねぇ質問はここに書き込みやがれ 5 - 暇つぶし2ch726:デフォルトの名無しさん
16/06/11 23:46:33.60 vIdecit0.net
>>722
上書きしてるから起こるんだよ、オブジェクトみたいに変数上書きしたら参照が無くなった方が勝手に破棄されるんじゃないから。
でも本質は、一つのハンドルには何度繰り返しロックをしてもスルーされるけど、一つのファイルでも別個の 2つのハンドルを取得しちゃった場合、
その両方にロックを掛けたらそりゃ 2度目の方はブロックされるという点。

意図せずこのバグを引き起こすケースとしてはこんな感じじゃね。

$lock = fopen('lock','a');
flock($lock, LOCK_EX);

<なんかの処理、でもうっかり $lock の値を壊してしまう>

fclose($lock); // ロックを解放したつもりだけど、$lock が正しいハンドルを示していないから失敗、ハンドルリーク

$lock = fopen('lock','a');
flock($lock, LOCK_EX); // 二度目のロック、同じファイルだけどさっきのロック取得済みのハンドルとは別ハンドルになるからロックを取得できない
:


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch