# La clase EvSignal

(PECL ev >= 0.2.0)

## Introducción

Los watchers EvSignal lanzarán un evento cuando el proceso reciba una señal específica una o varias veces. A pesar de que las señales sean asíncronas, libev intentará hacer lo posible para entregar las señales de forma síncrona, es decir, al igual que cualquier otro evento.

No hay límite para el número de watchers para la misma señal, pero solo en la misma loop, es decir, se puede vigilar `SIGINT` en la loop por defecto, y para `SIGIO` en otra loop, pero no está permitido vigilar `SIGINT` tanto en la loop por defecto como en otra loop al mismo tiempo. En este momento, `SIGCHLD` está permanentemente vinculado a la loop por defecto.

Si es posible y está soportado, libev instalará su manejador con `SA_RESTART` (o equivalente) activado, por lo tanto, las llamadas al sistema no deberían ser interrumpidas. En el caso de un problema con las llamadas al sistema que se vieran interrumpidas por señales, todas las señales pueden ser bloqueadas en un watcher EvCheck y desbloqueadas en un watcher EvPrepare.

## Sinopsis de la Clase

class EvSignal extends EvWatcher {
/* Propiedades */
public $signum;
/* Propiedades heredadas */
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 heredados */
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
}

## Propiedades

signum
  El número de la señal. Ver las constantes exportadas por la extensión pcntl. Ver también la página del manual para `signal(7)`.

## Tabla de contenidos

- EvSignal::__construct — Construye un objeto watcher EvSignal
- EvSignal::createStopped — Crea un objeto watcher EvSignal detenido
- EvSignal::set — Configura el observador

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