downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

event_base_free> <Fonctions Libevent
[edit] Last updated: Fri, 17 May 2013

view this page in

event_add

(PECL libevent >= 0.0.1)

event_addAjoute un évènement aux évènements monitorés

Description

bool event_add ( resource $event [, int $timeout = -1 ] )

event_add() planifie l'éxecution de event lorsque l'évènement précisé dans event_set() se produit ou au moins dans le temps précisé par timeout. Si timeout n'est pas renseigné, alors aucun timeout ne sera utilisé. Le paramètre event doit représenter un évènement initialisé par event_set() et event_base_set(). Si event possède déja un timeout, il est remplacé par le nouveau.

Liste de paramètres

event

Ressource event valide.

timeout

timeout optionnel (en microsecondes).

Valeurs de retour

event_add() retourne TRUE en cas de succès ou FALSE si une erreur survient.



add a note add a note User Contributed Notes event_add - [1 notes]
up
1
zhaoyong dot lc at gmail dot com
2 months ago
This is a Timer example use pcntl and libevent

function newChild($func_name) {
    echo "enter newChild\n";
    $args = func_get_args();
    unset($args[0]);
    $pid =  pcntl_fork();
    if ($pid == 0) {
        function_exists($func_name) and exit(call_user_func_array($func_name, $args)) or exit(-1);
    } else if($pid == -1) {
        echo "Couldn't create child process";
    } else {
        return $pid;
    }
}

function on_timer() {
    echo "timer called\n";
}

/**
 * @param $func string, function name
 * @param $timeouts int, microtimes for time delay
 */
function timer($func, $timeouts){

    echo "enter timer\n";
    $base = event_base_new();
    $event = event_new();

    event_set($event, 0, EV_TIMEOUT, $func);
    event_base_set($event, $base);
    event_add($event, $timeouts);

    event_base_loop($base);
}

$pid = newChild("timer", "on_timer", 5000000);

if ($pid > 0) {
    echo "master process exit\n";
}

 
show source | credits | sitemap | contact | advertising | mirror sites