diff --git a/src/schedule.c b/src/schedule.c index e929c38..aacc0a6 100644 --- a/src/schedule.c +++ b/src/schedule.c @@ -31,11 +31,11 @@ static inline int _set_interval(hexagram_schedule *schedule, return timer_settime(schedule->timer, 0, &schedule->ts, NULL); } -static inline int _set_slot_interval(hexagram_schedule *schedule, size_t i) { +static inline int _slot_set_interval(hexagram_schedule *schedule, size_t i) { return _set_interval(schedule, _slot_interval_ns(schedule, i)); } -static void _schedule_notify(hexagram_schedule *schedule) { +static void _ev_notify(hexagram_schedule *schedule) { time_t last = -1; while (schedule->current < schedule->count) { @@ -51,7 +51,7 @@ static void _schedule_notify(hexagram_schedule *schedule) { schedule->current++; if (last >= 0 && last != delay) { - _set_slot_interval(schedule, schedule->current); + _slot_set_interval(schedule, schedule->current); return; } @@ -61,7 +61,7 @@ static void _schedule_notify(hexagram_schedule *schedule) { schedule->current = 0; - _set_slot_interval(schedule, schedule->current); + _slot_set_interval(schedule, schedule->current); } static int _schedule_init(hexagram_schedule *schedule, @@ -75,7 +75,7 @@ static int _schedule_init(hexagram_schedule *schedule, schedule->count = count; schedule->ev.sigev_notify = SIGEV_THREAD; - schedule->ev.sigev_notify_function = _schedule_notify; + schedule->ev.sigev_notify_function = _ev_notify; schedule->ev.sigev_value.sival_ptr = schedule; if (timer_create(CLOCK_REALTIME, @@ -132,18 +132,11 @@ int hexagram_schedule_run(hexagram_schedule *schedule) { schedule->current = 0; schedule->error = 0; - return _set_slot_interval(schedule, schedule->current); + return _slot_set_interval(schedule, schedule->current); } int hexagram_schedule_stop(hexagram_schedule *schedule) { - const struct itimerspec ts = { - .it_value.tv_sec = 0, - .it_value.tv_nsec = 0, - .it_interval.tv_sec = 0, - .it_interval.tv_nsec = 0 - }; - - return timer_settime(schedule->timer, 0, &ts, NULL); + return _set_interval(schedule, 0); } int hexagram_schedule_error(hexagram_schedule *schedule) {