This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 3491cef8a8f4f7e14105474f79f20e83ffe156f3 Author: jiangtao16 <[email protected]> AuthorDate: Mon Aug 25 20:14:27 2025 +0800 sched/timer: Fix MISRA Rule 10.3 Fix MISRA Rule 10.3 exist clock to sclock cause wide type implicit conversion to narrow type, NSEC_PER_USEC to l Signed-off-by: jiangtao16 <[email protected]> --- fs/vfs/fs_timerfd.c | 8 ++++---- sched/timer/timer.h | 2 +- sched/timer/timer_create.c | 2 +- sched/timer/timer_settime.c | 10 +++++----- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/fs/vfs/fs_timerfd.c b/fs/vfs/fs_timerfd.c index c3abb832dce..741307711bd 100644 --- a/fs/vfs/fs_timerfd.c +++ b/fs/vfs/fs_timerfd.c @@ -65,7 +65,7 @@ struct timerfd_priv_s mutex_t lock; /* Enforces device exclusive access */ FAR timerfd_waiter_sem_t *rdsems; /* List of blocking readers */ int clock; /* Clock to use as the timing base */ - int delay; /* If non-zero, used to reset repetitive + clock_t delay; /* If non-zero, used to reset repetitive * timers */ struct wdog_s wdog; /* The watchdog that provides the timing */ timerfd_t counter; /* timerfd counter */ @@ -404,7 +404,7 @@ static void timerfd_timeout(wdparm_t arg) /* If this is a repetitive timer, then restart the watchdog */ - if (dev->delay > 0) + if (dev->delay > 0u) { wd_start(&dev->wdog, dev->delay, timerfd_timeout, arg); } @@ -492,7 +492,7 @@ int timerfd_settime(int fd, int flags, FAR struct timerfd_priv_s *dev; FAR struct file *filep; irqstate_t intflags; - sclock_t delay; + clock_t delay; int ret; /* Some sanity checks */ @@ -594,7 +594,7 @@ int timerfd_settime(int fd, int flags, * instead (assuming a repetitive timer). */ - if (delay <= 0) + if ((sclock_t)delay <= 0) { delay = dev->delay; } diff --git a/sched/timer/timer.h b/sched/timer/timer.h index f2f8d0430e5..013c82576f5 100644 --- a/sched/timer/timer.h +++ b/sched/timer/timer.h @@ -60,7 +60,7 @@ struct posix_timer_s uint8_t pt_crefs; /* Reference count */ pid_t pt_owner; /* Creator of timer */ int pt_overrun; /* Overrun time */ - sclock_t pt_delay; /* If non-zero, used to reset repetitive timers */ + clock_t pt_delay; /* If non-zero, used to reset repetitive timers */ clock_t pt_expected; /* Expected absolute time */ struct wdog_s pt_wdog; /* The watchdog that provides the timing */ struct sigevent pt_event; /* Notification information */ diff --git a/sched/timer/timer_create.c b/sched/timer/timer_create.c index 0a536d47eaa..1811f3e68af 100644 --- a/sched/timer/timer_create.c +++ b/sched/timer/timer_create.c @@ -186,7 +186,7 @@ int timer_create(clockid_t clockid, FAR struct sigevent *evp, ret->pt_clock = clockid; ret->pt_crefs = 1u; ret->pt_owner = tcb->pid; - ret->pt_delay = 0; + ret->pt_delay = 0u; ret->pt_expected = 0u; /* Was a struct sigevent provided? */ diff --git a/sched/timer/timer_settime.c b/sched/timer/timer_settime.c index 1fb67734f17..136f00ab0a1 100644 --- a/sched/timer/timer_settime.c +++ b/sched/timer/timer_settime.c @@ -102,8 +102,8 @@ static inline void timer_restart(FAR struct posix_timer_s *timer, wdparm_t itimer) { clock_t ticks; - sclock_t delay; - sclock_t frame; + clock_t delay; + clock_t frame; /* If this is a repetitive timer, then restart the watchdog */ @@ -128,7 +128,7 @@ static inline void timer_restart(FAR struct posix_timer_s *timer, */ frame = (delay + timer->pt_delay) / timer->pt_delay; - timer->pt_overrun = frame - 1; + timer->pt_overrun = (int)(frame - 1u); timer->pt_expected += frame * timer->pt_delay; wd_start_abstick(&timer->pt_wdog, timer->pt_expected, @@ -254,7 +254,7 @@ int timer_settime(timer_t timerid, int flags, FAR struct itimerspec *ovalue) { FAR struct posix_timer_s *timer = timer_gethandle(timerid); - sclock_t delay; + clock_t delay; int ret = OK; /* Some sanity checks */ @@ -304,7 +304,7 @@ int timer_settime(timer_t timerid, int flags, } else { - timer->pt_delay = 0; + timer->pt_delay = 0u; } /* Check if abstime is selected */
