Merge branch 'develop-olympus' into develop

* develop-olympus:
  [ticket/10602] Avoid a race condition.
  [ticket/10602] Use last_queue_run for its intended purpose.

Conflicts:
	phpBB/includes/functions_messenger.php
This commit is contained in:
Andreas Fischer 2012-12-05 10:03:29 +01:00
commit 4f947ebb47

View file

@ -661,14 +661,21 @@ class queue
$lock = new phpbb_lock_flock($this->cache_file);
$lock->acquire();
set_config('last_queue_run', time(), true);
if (!file_exists($this->cache_file) || filemtime($this->cache_file) > 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 (!$have_cache_file)
{
set_config('last_queue_run', time(), true);
}
$lock->release();
return;
}
set_config('last_queue_run', time(), true);
include($this->cache_file);
foreach ($this->queue_data as $object => $data_ary)