diff options
author | Oleg Pudeyev <oleg@bsdpower.com> | 2012-12-05 00:57:24 -0500 |
---|---|---|
committer | Oleg Pudeyev <oleg@bsdpower.com> | 2012-12-05 00:57:24 -0500 |
commit | 1e50116c54ec7ffbaba4622d5481207423ef2bbe (patch) | |
tree | dc41235f21f3c25f4766912c3086d359dc07f7f8 | |
parent | 03f819862f15efa2ef64331b23394086746d09be (diff) | |
download | forums-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.php | 6 |
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); } |