Esempio n. 1
0
 /**
  * {@inheritdoc}
  */
 public function wait()
 {
     if (!is_null($this->status)) {
         return false;
     }
     $waitStatus = 0;
     $waitReturn = $this->control->waitProcessId($this->getId(), $waitStatus);
     if ($waitReturn === $this->getId()) {
         $this->context->isRunning = false;
         $this->context->processId = null;
     }
     $this->status = new Status($waitStatus);
     return -1 !== $waitReturn;
 }
Esempio n. 2
0
 public function testShouldWaitProcessIdAndUpdateStatus()
 {
     $actualStatus = null;
     $expectedStatus = 42;
     $this->overwrite('pcntl_waitpid', function ($processId, &$status) use($expectedStatus) {
         $status = $expectedStatus;
         return -1;
     });
     $control = new Control();
     $control->waitProcessId(999, $actualStatus);
     $this->assertEquals($expectedStatus, $actualStatus);
 }