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: Fifth draft of the Y2038 design document


> I've discussed the kernel side for "Y2038-incompatible socket
> timestamping" with Deep a while ago, and I think we came to a
> new conclusions for what would be the best approach. I'll let her
> comment here.

There is a small error in the way SO_TIMESTAMPING is described below:

SO_TIMESTAMPING uses an integer bitfield which is not sensitive to
time bit-size.

SO_TIMESTAMPING uses the below struct as its cmsg data:
struct scm_timestamping {
     struct timespec ts[3];
 };

Timestamp options can also be differentiated based on the length
argument in the cmsg.
But, like the timeout options, since we do not want to rely on the
lengths of the data, we agree that all the timestamping options will
have 64 bit time_t versions like you mention.

Kernel will use a macro that Arnd suggested:

#define SO_TIMESTAMPNS  ((sizeof(time_t) > sizeof(__kernel_long_t)) ?
SO_TIMESTAMPNS64 : SO_TIMESTAMPNS32)

Your comments on SO_RCVTIMEO and SO_SNDTIMEO are consistent with what
we had agreed upon before.

-Deepa


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