X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=includes%2FForkController.php;h=05822302efaa58aaebd4fd13d215f6a811266132;hb=f93f87d77f79dd557f18eb21bffdb4ba27289559;hp=ced45af669c57fde741b75cbf2b01c08ad6822c4;hpb=d8cb9695c6971975692808bb7cdc991e2abda0ab;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/ForkController.php b/includes/ForkController.php index ced45af669..05822302ef 100644 --- a/includes/ForkController.php +++ b/includes/ForkController.php @@ -30,11 +30,11 @@ * @ingroup Maintenance */ class ForkController { - var $children = array(); - var $termReceived = false; - var $flags = 0, $procsToStart = 0; + protected $children = array(), $childNumber = 0; + protected $termReceived = false; + protected $flags = 0, $procsToStart = 0; - static $restartableSignals = array( + protected static $restartableSignals = array( SIGFPE, SIGILL, SIGSEGV, @@ -137,6 +137,16 @@ class ForkController { return 'done'; } + /** + * Get the number of the child currently running. Note, this + * is not the pid, but rather which of the total number of children + * we are + * @return int + */ + public function getChildNumber() { + return $this->childNumber; + } + protected function prepareEnvironment() { global $wgMemc; // Don't share DB, storage, or memcached connections @@ -166,6 +176,7 @@ class ForkController { if ( !$pid ) { $this->initChild(); + $this->childNumber = $i; return 'child'; } else { // This is the parent process