eloop: allow enabling/disabling timer sources

Similar to the fd_enable/disable functions we now also allow the same
operations on timer sources.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
This commit is contained in:
David Herrmann 2012-05-19 12:24:28 +02:00
parent 9703ee3502
commit 6a0742465b
2 changed files with 24 additions and 0 deletions

View File

@ -835,6 +835,27 @@ void ev_timer_unref(struct ev_timer *timer)
free(timer);
}
int ev_timer_enable(struct ev_timer *timer)
{
if (!timer)
return -EINVAL;
return ev_fd_enable(timer->efd);
}
void ev_timer_disable(struct ev_timer *timer)
{
if (!timer)
return;
ev_fd_disable(timer->efd);
}
bool ev_timer_is_enabled(struct ev_timer *timer)
{
return timer && ev_fd_is_enabled(timer->efd);
}
bool ev_timer_is_bound(struct ev_timer *timer)
{
return timer && ev_fd_is_bound(timer->efd);

View File

@ -101,6 +101,9 @@ int ev_timer_new(struct ev_timer **out, const struct itimerspec *spec,
void ev_timer_ref(struct ev_timer *timer);
void ev_timer_unref(struct ev_timer *timer);
int ev_timer_enable(struct ev_timer *timer);
void ev_timer_disable(struct ev_timer *timer);
bool ev_timer_is_enabled(struct ev_timer *timer);
bool ev_timer_is_bound(struct ev_timer *timer);
void ev_timer_set_cb_data(struct ev_timer *timer, ev_timer_cb cb, void *data);
int ev_timer_update(struct ev_timer *timer, const struct itimerspec *spec);