Re: [Y2038] Question regarding support of old time interfaces beyond y2038

From: Lukasz Majewski
Date: Thu Mar 07 2019 - 02:53:37 EST


Hi Zack,

> On Tue, Mar 5, 2019 at 10:24 AM Lukasz Majewski <lukma@xxxxxxx> wrote:
> > From other discussion [4] - regarding the following system calls:
> > time, stime, gettimeofday, settimeofday, adjtimex, nanosleep,
> > alarm, getitimer, setitimer, select, utime, utimes, futimesat, and
> > {old,new}{l,f,}stat{,64}.
> >
> > "These all pass 32-bit time_t arguments on 32-bit
> > architectures and are replaced by other interfaces (e.g. posix
> > timers and clocks, statx). C libraries implementing 64-bit time_t
> > in 32-bit architectures have to implement the handles by wrapping
> > around the newer interfaces."
>
> 1) We should be clear that most of these will continue to be supported
> as C library interfaces even if they are not system calls. Some of
> them are obsolete enough and/or rarely used enough that we might not
> bother (the older ways to set the system clock, for instance).

The question here is about the decision if even the old time APIs shall
be supported on 32 bit systems which are going to be Y2038 proof (like
the 'stime').

>
> 2) I know of one case where the new interfaces don't cover all of the
> functionality of the old ones: timers started by setitimer continue to
> run after an execve, timers started by timer_create don't. This means
> setitimer(ITIMER_VIRTUAL) can be used to impose a CPU time limit on a
> program you didn't write, and timer_create can't. If new kernels are
> not going to have setitimer as a primitive, we need some other way of
> getting the same effect.
>
> zw




Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@xxxxxxx

Attachment: pgpBqidhjXNbj.pgp
Description: OpenPGP digital signature