diff options
author | Ulrich Drepper <drepper@redhat.com> | 2004-09-30 06:16:50 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2004-09-30 06:16:50 +0000 |
commit | 8930fcf9beee6c0d1ace2e4a67be1525f5d6b8aa (patch) | |
tree | a31131c64f53ec120a9998a88ae4442c97d1ec00 /time/tzfile.c | |
parent | af38d7ce63a5c0196a1b2e353f84081ed17e9ead (diff) | |
download | glibc-8930fcf9beee6c0d1ace2e4a67be1525f5d6b8aa.tar glibc-8930fcf9beee6c0d1ace2e4a67be1525f5d6b8aa.tar.gz glibc-8930fcf9beee6c0d1ace2e4a67be1525f5d6b8aa.tar.bz2 glibc-8930fcf9beee6c0d1ace2e4a67be1525f5d6b8aa.zip |
Update.
2004-09-29 Jakub Jelinek <jakub@redhat.com>
* time/tzfile.c (tzfile_mtime): New variable.
(__tzfile_read): Reread the file if mtime is different.
2004-09-28 Jakub Jelinek <jakub@redhat.com>
* sysdeps/alpha/fpu/bits/mathinline.h (__fdimf, __fdim, fdimf, fdim):
Handle +inf/+inf.
* sysdeps/powerpc/fpu/bits/mathinline.h (fdim, fdimf): Likewise.
* sysdeps/sparc/fpu/bits/mathinline.h (fdim, fdimf): Likewise.
Diffstat (limited to 'time/tzfile.c')
-rw-r--r-- | time/tzfile.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/time/tzfile.c b/time/tzfile.c index 8c2756e7bb..48c1e4d790 100644 --- a/time/tzfile.c +++ b/time/tzfile.c @@ -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); |