aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleg Pudeyev <oleg@bsdpower.com>2012-12-05 00:57:24 -0500
committerOleg Pudeyev <oleg@bsdpower.com>2012-12-05 00:57:24 -0500
commit1e50116c54ec7ffbaba4622d5481207423ef2bbe (patch)
treedc41235f21f3c25f4766912c3086d359dc07f7f8
parent03f819862f15efa2ef64331b23394086746d09be (diff)
downloadforums-1e50116c54ec7ffbaba4622d5481207423ef2bbe.tar
forums-1e50116c54ec7ffbaba4622d5481207423ef2bbe.tar.gz
forums-1e50116c54ec7ffbaba4622d5481207423ef2bbe.tar.bz2
forums-1e50116c54ec7ffbaba4622d5481207423ef2bbe.tar.xz
forums-1e50116c54ec7ffbaba4622d5481207423ef2bbe.zip
[ticket/10602] Avoid a race condition.
PHPBB3-10602
-rw-r--r--phpBB/includes/functions_messenger.php6
1 files changed, 4 insertions, 2 deletions
diff --git a/phpBB/includes/functions_messenger.php b/phpBB/includes/functions_messenger.php
index ae0f7823cc..e837811c86 100644
--- a/phpBB/includes/functions_messenger.php
+++ b/phpBB/includes/functions_messenger.php
@@ -715,9 +715,11 @@ class queue
$lock_fp = $this->lock();
- if (!file_exists($this->cache_file) || $config['last_queue_run'] > time() - $config['queue_interval'])
+ // avoid races, check file existence once
+ $have_cache_file = file_exists($this->cache_file);
+ if (!$have_cache_file || $config['last_queue_run'] > time() - $config['queue_interval'])
{
- if (!file_exists($this->cache_file))
+ if (!$have_cache_file)
{
set_config('last_queue_run', time(), true);
}