diff options
| author | Andreas Fischer <bantu@phpbb.com> | 2012-12-04 20:26:43 +0100 |
|---|---|---|
| committer | Andreas Fischer <bantu@phpbb.com> | 2012-12-04 20:26:43 +0100 |
| commit | 2fdd039e5223b7acea3795811326945bd649bf49 (patch) | |
| tree | b0efba74b1bdc2eaad2443d7e65f61c66ee66a1e /phpBB/includes/cache | |
| parent | d7a23df2d9c3a9f93d8477e164edef0d263d8dcb (diff) | |
| parent | 3e093c282a63df4d16b212859fd8137fd2bbca81 (diff) | |
| download | forums-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.php | 16 |
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; } /** |
