public function suspend($timeout) { if ($timeout < 0) { throw new SingaIllegalArgumentException(); } try { if (!$this->_cc->_resumed && 0 < $timeout) { pcntl_waitpid(-1, $this->status, WUNTRACED); } } catch (Exception $e) { throw new SingaRuntimeException($e); } return parent::__suspend($timeout); }