This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC v1 01/16] sysdeps/nanosleep: Use clock_nanosleep_time64 instead of nanosleep


* Alistair Francis:

> On Sat, Jun 22, 2019 at 11:34 PM Florian Weimer <fweimer@redhat.com> wrote:
>>
>> * Alistair Francis:
>>
>> > +2019-06-21  Alistair Francis  <alistair.francis@wdc.com>
>> > +
>> > +     * nptl/thrd_sleep.c: Use clock_nanosleep_time64 instead of nanosleep.
>> > +     * sysdeps/unix/sysv/linux/nanosleep.c: Likewise.
>> > +     * sysdeps/unix/sysv/linux/nanosleep_nocancel.c: Likewise.
>>
>> Sorry, how is this supposed to work for all the other architectures
>> which don't have this system call with current kernel versions?
>
> Good question, I'm sure it doesn't.
>
> If we put this around #if defined(clock_nanosleep_time64) or #ifndef
> clock_nanosleep and then keep the current code as the #else would that
> be acceptable to upstream?

Does this work in <sysdep.h> for the port?

#define __NR_clock_nanosleep  __NR_clock_nanosleep_time64

This is somewhat hackish, but it's reasonably accurate for architectures
that provide standard system calls under non-standard names for some
reason.

Obviously, this assume that for these new ports, the UAPI headers do the
right thing and use 64-bit time_t for the old structs as well.

Thanks,
Florian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]