aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/cache
diff options
context:
space:
mode:
authorAndreas Fischer <bantu@phpbb.com>2012-12-04 20:26:43 +0100
committerAndreas Fischer <bantu@phpbb.com>2012-12-04 20:26:43 +0100
commit2fdd039e5223b7acea3795811326945bd649bf49 (patch)
treeb0efba74b1bdc2eaad2443d7e65f61c66ee66a1e /phpBB/includes/cache
parentd7a23df2d9c3a9f93d8477e164edef0d263d8dcb (diff)
parent3e093c282a63df4d16b212859fd8137fd2bbca81 (diff)
downloadforums-2fdd039e5223b7acea3795811326945bd649bf49.tar
forums-2fdd039e5223b7acea3795811326945bd649bf49.tar.gz
forums-2fdd039e5223b7acea3795811326945bd649bf49.tar.bz2
forums-2fdd039e5223b7acea3795811326945bd649bf49.tar.xz
forums-2fdd039e5223b7acea3795811326945bd649bf49.zip
Merge remote-tracking branch 'p/ticket/10103' into develop
* p/ticket/10103: [ticket/10103] New and improved wording. [ticket/10103] Assert with messages. [ticket/10103] assertLessThan/assertGreaterThan. [ticket/10103] Inline assignment is bad? [ticket/10103] $rv had too few characters. [ticket/10103] Correct flock class documentation. [ticket/10103] Try a longer sleep for travis. [ticket/10103] Convert the rest of the tree to flock class. [ticket/10103] Test for flock lock class, with concurrency no less. [ticket/10103] Use flock lock class in messenger. [ticket/10103] Factor out flock lock class.
Diffstat (limited to 'phpBB/includes/cache')
-rw-r--r--phpBB/includes/cache/driver/file.php16
1 files changed, 11 insertions, 5 deletions
diff --git a/phpBB/includes/cache/driver/file.php b/phpBB/includes/cache/driver/file.php
index a0f06dde4b..691abe0438 100644
--- a/phpBB/includes/cache/driver/file.php
+++ b/phpBB/includes/cache/driver/file.php
@@ -653,10 +653,11 @@ class phpbb_cache_driver_file extends phpbb_cache_driver_base
$file = "{$this->cache_dir}$filename.$phpEx";
+ $lock = new phpbb_lock_flock($file);
+ $lock->acquire();
+
if ($handle = @fopen($file, 'wb'))
{
- @flock($handle, LOCK_EX);
-
// File header
fwrite($handle, '<' . '?php exit; ?' . '>');
@@ -697,7 +698,6 @@ class phpbb_cache_driver_file extends phpbb_cache_driver_base
fwrite($handle, $data);
}
- @flock($handle, LOCK_UN);
fclose($handle);
if (!function_exists('phpbb_chmod'))
@@ -708,10 +708,16 @@ class phpbb_cache_driver_file extends phpbb_cache_driver_base
phpbb_chmod($file, CHMOD_READ | CHMOD_WRITE);
- return true;
+ $return_value = true;
+ }
+ else
+ {
+ $return_value = false;
}
- return false;
+ $lock->release();
+
+ return $return_value;
}
/**