Is it correct to free an event and then set a new time on it? For example:
void cb(evutil_socket_t fd, short events, void * arg)
{
...
event_free(event);
set_time(300);
...
}
void set_timer(unsigned int seconds)
{
...
event = event_new( base, -1, EV_TIMEOUT | EV_PERSIST, cb, args );
if ( event ) {
struct timeval tv = { seconds, 0 };
event_add( event, &tv );
}
...
}
I would like to use only one event for this change, not more. Do you have any suggestions?