WEBアプリケーション研究室 開発ノート TOP

WEBアプリケーション研究室 開発ノート [PHP]flockのなかでchmodに失敗するとデッドロックする

スポンサーサイト

-------- --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

    このエントリーをはてなブックマークに追加

タイトル通りなのですが、試したコードはこれです。


$fp = fopen($file, 'a');

if(flock($fp, LOCK_EX))
{
fputcsv($fp, $data);
chmod($file, 0666);
flock($fp, LOCK_UN);
}

fclose($fp);
このコードで対象のファイルがパーミッションの問題でchmod出来ない時、エラーにはならずにデッドロックします。

$fp = fopen($file, 'a');

if(flock($fp, LOCK_EX))
{
fputcsv($fp, $data);
flock($fp, LOCK_UN);
}

fclose($fp);

@chmod($file, 0666);
chmodはロック中にする必要もないので、下記のコードに変更しました。

エラーなら分かるんですけど、エラーも吐かずにデッドロックはこまりますね。
スポンサーサイト

    このエントリーをはてなブックマークに追加
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。