Пример #1
0
 /**
  * Creates callback function for handling signals.
  *
  * @return callable
  */
 protected function createSignalCallback() : callable
 {
     return function ($signo) {
         $handled = false;
         if (isset($this->signals[$signo])) {
             foreach ($this->signals[$signo] as $signal) {
                 $handled = true;
                 $signal->call();
             }
         }
         switch ($signo) {
             case SIGHUP:
             case SIGINT:
             case SIGQUIT:
             case SIGABRT:
             case SIGTRAP:
             case SIGXCPU:
                 if (!$handled) {
                     $this->loop->stop();
                 }
                 break;
             case SIGTERM:
             case SIGBUS:
             case SIGSEGV:
             case SIGFPE:
                 $this->loop->stop();
                 break;
         }
     };
 }
Пример #2
0
 /**
  * {@inheritdoc}
  */
 public function stop()
 {
     $this->loop->stop();
 }