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
on the events specified in parameter
is a set of the following flags:
EV_SIGNAL bit is set in parameter
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
Signal number or resource indicating the stream.
A flag indicating the event. Consists of the following flags:
Optional parameter, previously passed to event_set()
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
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.
TRUE on success or
FALSE on error.