X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;ds=sidebyside;f=includes%2FForkController.php;h=cc16964e1fdd36a24d9f030692c49f393ce5c6f0;hb=6b4737e6e73512dd2de1001e897e0ec603014de7;hp=4a021ee1e5a65da4d150dd534930266c49a52282;hpb=03320327a5f4b08174d798c6dceb51c2c9f54caa;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/ForkController.php b/includes/ForkController.php index 4a021ee1e5..cc16964e1f 100644 --- a/includes/ForkController.php +++ b/includes/ForkController.php @@ -19,6 +19,7 @@ * * @file */ +use MediaWiki\MediaWikiServices; /** * Class for managing forking command line scripts. @@ -30,11 +31,11 @@ * @ingroup Maintenance */ class ForkController { - protected $children = array(), $childNumber = 0; + protected $children = [], $childNumber = 0; protected $termReceived = false; protected $flags = 0, $procsToStart = 0; - protected static $restartableSignals = array( + protected static $restartableSignals = [ SIGFPE, SIGILL, SIGSEGV, @@ -44,7 +45,7 @@ class ForkController { SIGPIPE, SIGXCPU, SIGXFSZ, - ); + ]; /** * Pass this flag to __construct() to cause the class to automatically restart @@ -53,7 +54,7 @@ class ForkController { const RESTART_ON_ERROR = 1; public function __construct( $numProcs, $flags = 0 ) { - if ( PHP_SAPI != 'cli' ) { + if ( !wfIsCLI() ) { throw new MWException( "ForkController cannot be used from the web." ); } $this->procsToStart = $numProcs; @@ -73,7 +74,7 @@ class ForkController { */ public function start() { // Trap SIGTERM - pcntl_signal( SIGTERM, array( $this, 'handleTermSignal' ), false ); + pcntl_signal( SIGTERM, [ $this, 'handleTermSignal' ], false ); do { // Start child processes @@ -150,7 +151,7 @@ class ForkController { protected function prepareEnvironment() { global $wgMemc; // Don't share DB, storage, or memcached connections - wfGetLBFactory()->destroyInstance(); + MediaWikiServices::resetChildProcessServices(); FileBackendGroup::destroySingleton(); LockManagerGroup::destroySingletons(); JobQueueGroup::destroySingletons();