prepare to work in backward-comaptible mode

This commit is contained in:
Denis 2024-01-15 02:32:21 +01:00
parent 1866d65b9e
commit 35bbaa4f2d
No known key found for this signature in database
GPG key ID: DD9B63F805CF5C03
3 changed files with 54 additions and 7 deletions

View file

@ -24,10 +24,17 @@ int dev_timer_open(
}
(*out_dev)->fd = fd;
(*out_dev)->timer_spec.it_value.tv_sec = in_filters->ticktime_ms / (__time_t)1000;
(*out_dev)->timer_spec.it_value.tv_nsec = (in_filters->ticktime_ms % (__syscall_slong_t)1000) * (__syscall_slong_t)1000000;
(*out_dev)->timer_spec.it_interval.tv_sec = in_filters->ticktime_ms / (__time_t)1000;
(*out_dev)->timer_spec.it_interval.tv_nsec = (in_filters->ticktime_ms % (__syscall_slong_t)1000) * (__syscall_slong_t)1000000;
if (in_filters->ticktime_ms != 0) {
(*out_dev)->timer_spec.it_value.tv_sec = in_filters->ticktime_ms / (__time_t)1000;
(*out_dev)->timer_spec.it_value.tv_nsec = (in_filters->ticktime_ms % (__syscall_slong_t)1000) * (__syscall_slong_t)1000000;
(*out_dev)->timer_spec.it_interval.tv_sec = in_filters->ticktime_ms / (__time_t)1000;
(*out_dev)->timer_spec.it_interval.tv_nsec = (in_filters->ticktime_ms % (__syscall_slong_t)1000) * (__syscall_slong_t)1000000;
} else {
(*out_dev)->timer_spec.it_value.tv_sec = 0;
(*out_dev)->timer_spec.it_value.tv_nsec = in_filters->ticktime_ns;
(*out_dev)->timer_spec.it_interval.tv_sec = 0;
(*out_dev)->timer_spec.it_interval.tv_nsec = in_filters->ticktime_ns;
}
if (timerfd_settime((*out_dev)->fd, 0, &(*out_dev)->timer_spec, NULL) < 0) {
res = errno < 0 ? errno : -1 * errno;