idk, it's a bit nicer

This commit is contained in:
XANTRONIX Development 2023-12-27 00:44:33 -05:00
parent 01fd188d7e
commit eeeb5659a9

View file

@ -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) {