mirror of
git://sourceware.org/git/glibc.git
synced 2025-04-24 14:41:06 +08:00
* time/tzfile.c (tzfile_mtime): New variable.
(__tzfile_read): Reread the file if mtime is different.
This commit is contained in:
parent
f9ff03a835
commit
bd307f4e23
@ -1,5 +1,8 @@
|
||||
2004-09-29 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* time/tzfile.c (tzfile_mtime): New variable.
|
||||
(__tzfile_read): Reread the file if mtime is different.
|
||||
|
||||
* sysdeps/i386/fpu/s_fdim.S (__fdim): Handle +inf/+inf.
|
||||
* sysdeps/i386/fpu/s_fdimf.S (__fdimf): Likewise.
|
||||
* sysdeps/i386/fpu/s_fdiml.S (__fdiml): Likewise.
|
||||
|
@ -32,6 +32,7 @@
|
||||
int __use_tzfile;
|
||||
static dev_t tzfile_dev;
|
||||
static ino64_t tzfile_ino;
|
||||
static time_t tzfile_mtime;
|
||||
|
||||
struct ttinfo
|
||||
{
|
||||
@ -161,7 +162,8 @@ __tzfile_read (const char *file, size_t extra, char **extrap)
|
||||
fclose (f);
|
||||
goto ret_free_transitions;
|
||||
}
|
||||
if (was_using_tzfile && tzfile_ino == st.st_ino && tzfile_dev == st.st_dev)
|
||||
if (was_using_tzfile && tzfile_ino == st.st_ino && tzfile_dev == st.st_dev
|
||||
&& tzfile_mtime == st.st_mtime)
|
||||
{
|
||||
/* It's the same file. No further work needed. */
|
||||
fclose (f);
|
||||
@ -172,9 +174,10 @@ __tzfile_read (const char *file, size_t extra, char **extrap)
|
||||
free ((void *) transitions);
|
||||
transitions = NULL;
|
||||
|
||||
/* Remember the inode and device number. */
|
||||
/* Remember the inode and device number and modification time. */
|
||||
tzfile_dev = st.st_dev;
|
||||
tzfile_ino = st.st_ino;
|
||||
tzfile_mtime = st.st_mtime;
|
||||
|
||||
/* No threads reading this stream. */
|
||||
__fsetlocking (f, FSETLOCKING_BYCALLER);
|
||||
|
Loading…
x
Reference in New Issue
Block a user