[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250706062633.GB29601@1wt.eu>
Date: Sun, 6 Jul 2025 08:26:33 +0200
From: Willy Tarreau <w@....eu>
To: Thomas Weißschuh <thomas.weissschuh@...utronix.de>
Cc: Thomas Weißschuh <linux@...ssschuh.net>,
Shuah Khan <shuah@...nel.org>, linux-kernel@...r.kernel.org,
linux-kselftest@...r.kernel.org
Subject: Re: [PATCH] tools/nolibc: add support for clock_nanosleep() and
nanosleep()
Hi Thomas,
On Fri, Jul 04, 2025 at 04:19:48PM +0200, Thomas Weißschuh wrote:
> +static __attribute__((unused))
> +int sys_clock_nanosleep(clockid_t clockid, int flags, const struct timespec *rqtp,
> + struct timespec *rmtp)
> +{
> +#if defined(__NR_clock_nanosleep)
> + return my_syscall4(__NR_clock_nanosleep, clockid, flags, rqtp, rmtp);
> +#elif defined(__NR_clock_nanosleep_time64)
> + struct __kernel_timespec krqtp, krmtp;
> + int ret;
> +
> + __nolibc_timespec_user_to_kernel(rqtp, &krqtp);
> + ret = my_syscall4(__NR_clock_nanosleep_time64, clockid, flags, &krqtp, &krmtp);
> + if (rmtp)
> + __nolibc_timespec_kernel_to_user(&krmtp, rmtp);
> + return ret;
> +#else
> + return __nolibc_enosys(__func__, clockid, flags, rqtp, rmtp);
> +#endif
I don't know which archs do not have clock_nanosleep, but if it becomes
needed on some of them, we could probably fall back to pslelect() if
available, of course, and ignore the clockid.
Acked-by: Willy Tarreau <w@....eu>
Cheers,
Willy
Powered by blists - more mailing lists