[PATCH 3/6] cyclictest: Fix error error returns for uclibc clock_nanosleep() fallback
Thomas Weißschuh (Schneider Electric) <[email protected]> Tue, 07 Apr 2026 08:48:43 +0200
| Newsgroups | org.kernel.vger.linux-rt-users |
|---|---|
| Message-ID | <[email protected]> |
clock_nanosleep() is expected to return errors as a positive number, without relying on errno. Signed-off-by: Thomas Weißschuh (Schneider Electric) <[email protected]> --- src/cyclictest/cyclictest.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/cyclictest/cyclictest.c b/src/cyclictest/cyclictest.c index 0c30e767e685..dacf0b7a718e 100644 --- a/src/cyclictest/cyclictest.c +++ b/src/cyclictest/cyclictest.c @@ -62,12 +62,18 @@ static int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *req, struct timespec *rem) { + int retval; + if (clock_id == CLOCK_THREAD_CPUTIME_ID) return -EINVAL; if (clock_id == CLOCK_PROCESS_CPUTIME_ID) clock_id = MAKE_PROCESS_CPUCLOCK(0, CPUCLOCK_SCHED); - return syscall(__NR_clock_nanosleep, clock_id, flags, req, rem); + retval = syscall(__NR_clock_nanosleep, clock_id, flags, req, rem); + if (retval == 0) + return 0; + + return errno; } int sched_setaffinity(__pid_t __pid, size_t __cpusetsize, -- 2.53.0