示例#1
0
 /**
  * @param \Icicle\Loop\SelectLoop $loop
  */
 public function __construct(SelectLoop $loop)
 {
     parent::__construct($loop);
     $callback = $this->createSignalCallback();
     foreach ($this->getSignalList() as $signal) {
         pcntl_signal($signal, $callback);
     }
 }
示例#2
0
 /**
  * @param \Icicle\Loop\EventLoop $loop
  */
 public function __construct(EventLoop $loop)
 {
     parent::__construct($loop);
     $callback = $this->createSignalCallback();
     $base = $loop->getEventBase();
     foreach ($this->getSignalList() as $signal) {
         $event = new Event($base, $signal, Event::SIGNAL | Event::PERSIST, $callback);
         $event->add();
         $this->events[$signal] = $event;
     }
 }
示例#3
0
 /**
  * @param \Icicle\Loop\EvLoop $loop
  */
 public function __construct(EvLoop $loop)
 {
     parent::__construct($loop);
     $callback = $this->createSignalCallback();
     $callback = function (\EvSignal $event) use($callback) {
         $callback($event->signum);
     };
     $loop = $loop->getEvLoop();
     foreach ($this->getSignalList() as $signal) {
         $event = $loop->signal($signal, $callback);
         $this->events[$signal] = $event;
     }
 }
 /**
  * @param \Icicle\Loop\LibeventLoop $loop
  */
 public function __construct(LibeventLoop $loop)
 {
     parent::__construct($loop);
     $callback = $this->createSignalCallback();
     $base = $loop->getEventBase();
     foreach ($this->getSignalList() as $signo) {
         $event = event_new();
         event_set($event, $signo, EV_SIGNAL | EV_PERSIST, $callback);
         event_base_set($event, $base);
         event_add($event);
         $this->events[$signo] = $event;
     }
 }
示例#5
0
 /**
  * @param \Icicle\Loop\UvLoop $loop
  */
 public function __construct(UvLoop $loop)
 {
     parent::__construct($loop);
     $loopHandle = $loop->getLoopHandle();
     $signalCallback = $this->createSignalCallback();
     $callback = function ($sigHandle, int $signo) use($signalCallback) {
         $signalCallback($signo);
     };
     foreach ($this->getSignalList() as $signo) {
         $sigHandle = \uv_signal_init($loopHandle);
         \uv_signal_start($sigHandle, $callback, $signo);
         $this->sigHandles[$signo] = $sigHandle;
     }
 }