mirror of git://sourceware.org/git/glibc.git
[BZ #5186]
* time/tzset.c (__tz_convert): Don't force testing for a change of TZ if not called from localtime. But then also see whether the file changed, in case __use_tzfile is set.
This commit is contained in:
parent
1aa5e4d74f
commit
58423c7dbb
|
|
@ -1,5 +1,10 @@
|
||||||
2007-10-17 Ulrich Drepper <drepper@redhat.com>
|
2007-10-17 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
[BZ #5186]
|
||||||
|
* time/tzset.c (__tz_convert): Don't force testing for a change of
|
||||||
|
TZ if not called from localtime. But then also see whether the
|
||||||
|
file changed, in case __use_tzfile is set.
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Define F_DUPFD_CLOEXEC.
|
* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Define F_DUPFD_CLOEXEC.
|
||||||
* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
|
* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
|
||||||
* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
|
* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
|
||||||
|
|
|
||||||
|
|
@ -401,7 +401,7 @@ tzset_internal (always, explicit)
|
||||||
if (tz && *tz == ':')
|
if (tz && *tz == ':')
|
||||||
++tz;
|
++tz;
|
||||||
|
|
||||||
/* Check whether the value changes since the last run. */
|
/* Check whether the value changed since the last run. */
|
||||||
if (old_tz != NULL && tz != NULL && strcmp (tz, old_tz) == 0)
|
if (old_tz != NULL && tz != NULL && strcmp (tz, old_tz) == 0)
|
||||||
/* No change, simply return. */
|
/* No change, simply return. */
|
||||||
return;
|
return;
|
||||||
|
|
@ -606,9 +606,8 @@ __tz_convert (const time_t *timer, int use_localtime, struct tm *tp)
|
||||||
|
|
||||||
/* Update internal database according to current TZ setting.
|
/* Update internal database according to current TZ setting.
|
||||||
POSIX.1 8.3.7.2 says that localtime_r is not required to set tzname.
|
POSIX.1 8.3.7.2 says that localtime_r is not required to set tzname.
|
||||||
This is a good idea since this allows at least a bit more parallelism.
|
This is a good idea since this allows at least a bit more parallelism. */
|
||||||
By analogy we apply the same rule to gmtime_r. */
|
tzset_internal (tp == &_tmbuf && use_localtime, 1);
|
||||||
tzset_internal (tp == &_tmbuf, 0);
|
|
||||||
|
|
||||||
if (__use_tzfile)
|
if (__use_tzfile)
|
||||||
__tzfile_compute (*timer, use_localtime, &leap_correction,
|
__tzfile_compute (*timer, use_localtime, &leap_correction,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue