change timer of an event (libevent)

244 Views Asked by At

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?

0

There are 0 best solutions below