mirror of
https://github.com/ezyang/htmlpurifier.git
synced 2024-12-22 16:31:53 +00:00
Fix E_WARNING when cache directory exists
Sometimes Serializer from another thread already creaded dir - this commit resolves this issue.
This commit is contained in:
parent
d21213e0d3
commit
e11f7c9802
@ -217,9 +217,14 @@ class HTMLPurifier_DefinitionCache_Serializer extends HTMLPurifier_DefinitionCac
|
|||||||
$directory = $this->generateDirectoryPath($config);
|
$directory = $this->generateDirectoryPath($config);
|
||||||
$chmod = $config->get('Cache.SerializerPermissions');
|
$chmod = $config->get('Cache.SerializerPermissions');
|
||||||
if ($chmod === null) {
|
if ($chmod === null) {
|
||||||
// TODO: This races
|
if (!@mkdir($directory) && !is_dir($directory)) {
|
||||||
if (is_dir($directory)) return true;
|
trigger_error(
|
||||||
return mkdir($directory);
|
'Could not create directory ' . $directory . '',
|
||||||
|
E_USER_WARNING
|
||||||
|
);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
if (!is_dir($directory)) {
|
if (!is_dir($directory)) {
|
||||||
$base = $this->generateBaseDirectoryPath($config);
|
$base = $this->generateBaseDirectoryPath($config);
|
||||||
@ -233,7 +238,7 @@ class HTMLPurifier_DefinitionCache_Serializer extends HTMLPurifier_DefinitionCac
|
|||||||
} elseif (!$this->_testPermissions($base, $chmod)) {
|
} elseif (!$this->_testPermissions($base, $chmod)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!mkdir($directory, $chmod)) {
|
if (!@mkdir($directory, $chmod) && !is_dir($directory)) {
|
||||||
trigger_error(
|
trigger_error(
|
||||||
'Could not create directory ' . $directory . '',
|
'Could not create directory ' . $directory . '',
|
||||||
E_USER_WARNING
|
E_USER_WARNING
|
||||||
|
Loading…
Reference in New Issue
Block a user