If you change your event with event_set() libevent will forget which base your event belongs to. You must call event_base_set() again *before* calling event_add() on it.
(PECL libevent >= 0.0.1)
event_set — Prepare an event
Prepares the event to be used in event_add(). The event is prepared to call the function specified by the callback on the events specified in parameter events, which is a set of the following flags: EV_TIMEOUT, EV_SIGNAL, EV_READ, EV_WRITE and EV_PERSIST.
If EV_SIGNAL bit is set in parameter events, the fd is interpreted as signal number.
After initializing the event, use event_base_set() to associate the event with its event base.
In case of matching event, these three arguments are passed to the callback function:
Signal number or resource indicating the stream.
A flag indicating the event. Consists of the following flags: EV_TIMEOUT, EV_SIGNAL, EV_READ, EV_WRITE and EV_PERSIST.
Optional parameter, previously passed to event_set() as arg.
Valid event resource.
Valid PHP stream resource. The stream must be castable to file descriptor, so you most likely won't be able to use any of filtered streams.
A set of flags indicating the desired event, can be EV_READ and/or EV_WRITE. The additional flag EV_PERSIST makes the event to persist until event_del() is called, otherwise the callback is invoked only once.
Callback function to be called when the matching event occurs.
Optional callback parameter.
event_set() returns TRUE on success or FALSE on error.
|0.0.4||EV_SIGNAL support was added.|