public function testRemoveAllListenersWithoutArguments() { $listenersCalled = 0; $this->emitter->on('foo', function () use(&$listenersCalled) { $listenersCalled++; }); $this->emitter->on('bar', function () use(&$listenersCalled) { $listenersCalled++; }); $this->emitter->removeAllListeners(); $this->assertSame(0, $listenersCalled); $this->emitter->emit('foo'); $this->emitter->emit('bar'); $this->assertSame(0, $listenersCalled); }
/** * Removes all signal handlers * * @param int|null $signo The signal number */ public function removeAllListeners($signo = null) { // prepare a list of signal numbers to deal with $signoList = []; if (!is_null($signo)) { $signoList = [$signo]; } elseif (is_array($this->listeners)) { $signoList = array_keys($this->listeners); } // call the parent's code parent::removeAllListeners($signo); // uninstall PCNTL signal handlers foreach ($signoList as $realSigno) { pcntl_signal($realSigno, SIG_DFL); } }