PhpRiot
Become Zend Certified

Prepare for the ZCE exam using our quizzes (web or iPad/iPhone). More info...


When you're ready get 7.5% off your exam voucher using voucher CJQNOV23 at the Zend Store

Event::addSignal

(PECL event >= 1.2.6-beta)

Event::addSignalMakes signal event pending

Description

public bool Event::addSignal ([ double $timeout ] )

Event::addSignal is an alias of Event::add

Examples

Example #1 Event::addSignal() example

<?php
/*
Launch it in a terminal window:

$ php examples/signal.php

In another terminal window find out the pid and send SIGTERM, e.g.:

$ ps aux | grep examp
ruslan    3976  0.2  0.0 139896 11256 pts/1    S+   10:25   0:00 php examples/signal.php
ruslan    3978  0.0  0.0   9572   864 pts/2    S+   10:26   0:00 grep --color=auto examp
$ kill -TERM 3976

At the first terminal window you should catch the following:

Caught signal 15
*/
class MyEventSignal {
    private 
$base$ev;

    public function 
__construct($base) {
        
$this->base $base;
        
$this->ev Event::signal($baseSIGTERM, array($this'eventSighandler'));
        
$this->ev->addSignal();
    }

    public function 
eventSighandler($no$c) {
        echo 
"Caught signal $no\n";
        
$this->base->exit();
    }
}

$base = new EventBase();
$c    = new MyEventSignal($base);

$base->loop();
?>

The above example will output something similar to:

Caught signal 15

See Also

PHP Manual