aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/install/installer.php
diff options
context:
space:
mode:
authorMáté Bartus <mate.bartus@gmail.com>2016-02-28 00:19:24 +0100
committerMáté Bartus <mate.bartus@gmail.com>2016-02-28 14:05:07 +0100
commit062358f8b1d9a7fa3d9be97f6b58e06fea7ca844 (patch)
tree88c0da83c6a25eda15c9fd70af5dc23ae3ddb77a /phpBB/phpbb/install/installer.php
parent30db51a86e009f50920f8c0c6c05da26e2b10a56 (diff)
downloadforums-062358f8b1d9a7fa3d9be97f6b58e06fea7ca844.tar
forums-062358f8b1d9a7fa3d9be97f6b58e06fea7ca844.tar.gz
forums-062358f8b1d9a7fa3d9be97f6b58e06fea7ca844.tar.bz2
forums-062358f8b1d9a7fa3d9be97f6b58e06fea7ca844.tar.xz
forums-062358f8b1d9a7fa3d9be97f6b58e06fea7ca844.zip
[ticket/14487] Try to handle connection timeouts
PHPBB3-14487
Diffstat (limited to 'phpBB/phpbb/install/installer.php')
-rw-r--r--phpBB/phpbb/install/installer.php22
1 files changed, 21 insertions, 1 deletions
diff --git a/phpBB/phpbb/install/installer.php b/phpBB/phpbb/install/installer.php
index b5709e96c7..240423ae78 100644
--- a/phpBB/phpbb/install/installer.php
+++ b/phpBB/phpbb/install/installer.php
@@ -22,6 +22,7 @@ use phpbb\install\exception\resource_limit_reached_exception;
use phpbb\install\exception\user_interaction_required_exception;
use phpbb\install\helper\config;
use phpbb\install\helper\container_factory;
+use phpbb\install\helper\iohandler\ajax_iohandler;
use phpbb\install\helper\iohandler\cli_iohandler;
use phpbb\install\helper\iohandler\iohandler_interface;
use phpbb\path_helper;
@@ -126,6 +127,11 @@ class installer
*/
public function run()
{
+ if ($this->iohandler instanceof ajax_iohandler)
+ {
+ $this->iohandler->acquire_lock();
+ }
+
// Load install progress
$this->install_config->load_config();
@@ -174,7 +180,16 @@ class installer
try
{
$iterator = $this->installer_modules->getIterator();
- $iterator->seek($module_index);
+
+ if ($module_index < $iterator->count())
+ {
+ $iterator->seek($module_index);
+ }
+ else
+ {
+ $iterator->seek($module_index - 1);
+ $iterator->next();
+ }
while ($iterator->valid())
{
@@ -256,6 +271,11 @@ class installer
$fail_cleanup = true;
}
+ if ($this->iohandler instanceof ajax_iohandler)
+ {
+ $this->iohandler->release_lock();
+ }
+
if ($install_finished)
{
// Send install finished message