# La classe EvSignal

(PECL ev >= 0.2.0)

## Introduction

Les watchers EvSignal vont lancer un événement lorsque le processus reçoit un signal spécifique une ou plusieurs fois. Malgré le fait que les signaux soient asynchrones, libev va tenter de faire de son mieux pour délivrer les signaux de façon synchrone, c.-à-d. tout comme n'importe quel autre événement.

Il n'y a aucune limite pour le nombre de watchers pour le même signal, mais seulement dans la même boucle, c.-à-d. il est possible de surveiller `SIGINT` dans la boucle par défaut, et pour `SIGIO` dans une autre boucle, mais il n'est pas autorisé de surveiller `SIGINT` à la fois dans la boucle par défaut, et dans une autre boucle au même moment. À ce moment, `SIGCHLD` est lié de façon permanente à la boucle par défaut.

Si possible et si supporté, libev va installer son gestionnaire avec `SA_RESTART` (ou équivalent) activé, aussi, les appels système ne devraient pas être interrompus. Dans le cas d'un problème avec les appels système qui se verraient interrompus par des signaux, tous les signaux peuvent être bloqués dans un watcher EvCheck et débloqués dans un watcher EvPrepare.

## Synopsis de la classe

class EvSignal extends EvWatcher {
/* Propriétés */
public $signum;
/* Propriétés héritées */
public $is_active;
public $data;
public $is_pending;
public $priority;
/* Méthodes */
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éthodes héritées */
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
}

## Propriétés

signum
  Le numéro du signal. Voir les constantes exportées par l'extension pcntl. Voir aussi la page de manuel pour `signal(7)`.

## Sommaire

- EvSignal::__construct — Construit un objet watcher EvSignal
- EvSignal::createStopped — Crée un objet watcher EvSignal stoppé
- EvSignal::set — Configure le watcher

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