/** * Removes a signal handler * * @param int $signo The signal number * @param callable $listener The listener */ public function removeListener($signo, callable $listener) { // call the parent's code parent::removeListener($signo, $listener); // if last listener removed, uninstall PCNTL signal handler if (empty($this->listeners[$signo])) { pcntl_signal($signo, SIG_DFL); } }
public function testRemoveListenerNotMatching() { $listenersCalled = 0; $listener = function () use(&$listenersCalled) { $listenersCalled++; }; $this->emitter->on('foo', $listener); $this->emitter->removeListener('bar', $listener); $this->assertSame(0, $listenersCalled); $this->emitter->emit('foo'); $this->assertSame(1, $listenersCalled); }
/** * @see AbstractDispatcherAdapter::remove */ public function remove($name, callable $listener) { $this->dispatcher->removeListener($name, $listener); return $this; }