# The EvSignal class

(PECL ev >= 0.2.0)

## Introducción

EvSignal watchers will trigger an event when the process receives a specific signal one or more times. Even though signals are very asynchronous, libev will try its best to deliver signals synchronously, i.e. as part of the normal event processing, like any other event.

There is no limit for the number of watchers for the same signal, but only within the same loop, i.e. one can watch for `SIGINT` in the default loop and for `SIGIO` in another loop, but it is not allowed to watch for `SIGINT` in both the default loop and another loop at the same time. At the moment, `SIGCHLD` is permanently tied to the default loop.

If possible and supported, libev will install its handlers with `SA_RESTART` (or equivalent) behaviour enabled, so system calls should not be unduly interrupted. In case of a problem with system calls getting interrupted by signals, all the signals can be blocked in an EvCheck watcher and unblocked in a EvPrepare watcher.

## 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 __construct(
int `$signum` ,
callable `$callback` ,
mixed `$data` = `null` ,
int `$priority` = 0
)
final public static createStopped(
int `$signum` ,
callable `$callback` ,
mixed `$data` = `null` ,
int `$priority` = 0
): EvSignal
public set( int `$signum` ): void
/* Métodos heredados */
public EvWatcher::clear(): int
public EvWatcher::feed( int `$revents` ): void
public EvWatcher::getLoop(): EvLoop
public EvWatcher::invoke( int `$revents` ): void
public EvWatcher::keepalive( bool `$value` = ?): bool
public EvWatcher::setCallback( callable `$callback` ): void
public EvWatcher::start(): void
public EvWatcher::stop(): void
}

## Propiedades

signum

  Signal number. See the constants exported by pcntl extension. See also `signal(7)` man page.

## Tabla de contenidos

- EvSignal::__construct — Construye el objeto observador EvSignal
- EvSignal::createStopped — Create stopped EvSignal watcher object
- EvSignal::set — Configura el testigo