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...@1wt.eu>

Cheers,
Willy

Reply via email to