# A classe EvSignal

(PECL ev >= 0.2.0)

## Introdução

Os observadores EvSignal irão acionar um evento quando o processo receber um sinal específico uma ou mais vezes. Mesmo que os sinais sejam muito assíncronos, libev tentará o seu melhor para entregar sinais de forma síncrona, ou seja, como parte do processamento normal de eventos, como qualquer outro evento.

Não há limite para o número de observadores para o mesmo sinal, mas apenas dentro do mesmo laço, ou seja, pode-se observar `SIGINT` no laço padrão e `SIGIO` em outro laço, mas não é permitido observar `SIGINT` no laço padrão e em outro laço ao mesmo tempo. No momento, `SIGCHLD` está permanentemente vinculado ao laço padrão.

Se possível e suportado, libev instalará seus manipuladores com o comportamento `SA_RESTART` (ou equivalente) habilitado, portanto as chamadas do sistema não devem ser interrompidas indevidamente. No caso de um problema com chamadas do sistema sendo interrompidas por sinais, todos os sinais podem ser bloqueados em um observador EvCheck e desbloqueados em um observador EvPrepare.

## Resumo da classe

class EvSignal extends EvWatcher {
/* Propriedades */
public $signum;
/* Propriedades herdadas */
public $is_active;
public $data;
public $is_pending;
public $priority;
/* Métodos */
public function __construct(
int `$signum` ,
callable `$callback` ,
mixed `$data` = `null` ,
int `$priority` = 0
)
final public static function createStopped(
int `$signum` ,
callable `$callback` ,
mixed `$data` = `null` ,
int `$priority` = 0
): EvSignal
public function set( int `$signum` ): void
/* Métodos herdados */
public function EvWatcher::clear(): int
public function EvWatcher::feed( int `$revents` ): void
public function EvWatcher::getLoop(): EvLoop
public function EvWatcher::invoke( int `$revents` ): void
public function EvWatcher::keepalive( bool `$value` = ?): bool
public function EvWatcher::setCallback( callable `$callback` ): void
public function EvWatcher::start(): void
public function EvWatcher::stop(): void
}

## Propriedades

signum
  Número do sinal. Veja as constantes exportadas pela extensão pcntl. Veja também a página de manual `signal(7)`.

## Índice

- EvSignal::__construct — Constrói objeto observador EvSignal
- EvSignal::createStopped — Cria objeto observador EvSignal parado
- EvSignal::set — Configura o observador

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open