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: [PATCH v2 04/11] Use clock_settime to implement settimeofday.



On 25/10/2019 20:20, Rafal Luzynski wrote:
> 25.10.2019 14:08 Adhemerval Zanella <adhemerval.zanella@linaro.org> wrote:
>>
>>
>> From: Zack Weinberg <zackw@panix.com>
>>
>> Use clock_settime to implement settimeofday.
>>
>> Changes from previous version:
>>
>>   - Added a NEWS entry.
>>
>> --
>>
>> [...]
>> diff --git a/NEWS b/NEWS
>> index 8727b5e7f0..0b1476e745 100644
>> --- a/NEWS
>> +++ b/NEWS
>> @@ -34,6 +34,30 @@ Deprecated and removed features, and other changes
>> affecting compatibility:
>>    binaries and it has been removed from <time.h> header.  This function
>>    has been deprecated in favor of clock_settime.
>>  
>> +* The settimeofday function can still be used to set a system-wide time
>> +  zone when the operating system supports it.  This is because the Linux
>> +  kernel reused the API, on some architectures, to describe a system-wide
>> +  time-zone-like offset between the software clock maintained by the
>> kernel,
>> +  and the “RTC” clock that keeps time when the system is shut down.
> 
> That's little off-topic and little nit-picky but are you sure you want to
> use the Unicode quotes like “” instead of plain ASCII "" ?  No problem if
> this is what you really want but I suspect your editor converted this.

I think this came from the original patchset from Zack, I have split 
the last commit that added the NEWS entry for all the changes.
I changed to plan ASCII version.

> 
>> +  However, to reduce the odds of this offset being set by accident,
>> +  settimeofday can no longer be used to set the time and the offset
>> +  simultaneously.  If both of its two arguments are non-null, the call
>> +  will fail (setting errno to EINVAL).
>> +
>> +  Callers attempting to set this offset should also be prepared for the
>> call
>> +  to fail and set errno to ENOSYS; this already happens on the Hurd and
>> on
>> +  some Linux architectures.  The Linux kernel maintainers are discussing
>> a
>> +  more principled replacement for the reused API.  After a replacement
>> +  becomes available, we will change settimeofday to fail with ENOSYS on
>> all
>> +  platforms when its ‘tzp’ argument is not a null pointer.
> 
> Same here, the Unicode ‘’ instead of plain ASCII '' .

Ack, fixed.

> 
>> +  Note that settimeofday itself is obsolescent according to POSIX.
>> +  Programs that set the system time should use clock_settime and/or
>> +  the adjtime family of functions instead.  We may also cease to make
>> +  settimeofday available to newly linked binaries after there is a
>> +  replacement for Linux’s time-zone-like offset API.
> 
> Again the Unicode apostrophe ’ instead of plain ASCII ' .

Ack, fixed.

> 
> Regards,
> 
> Rafal
> 


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