[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