summary refs log tree commit diff
path: root/time
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-09-30 06:16:50 +0000
committerUlrich Drepper <drepper@redhat.com>2004-09-30 06:16:50 +0000
commit8930fcf9beee6c0d1ace2e4a67be1525f5d6b8aa (patch)
treea31131c64f53ec120a9998a88ae4442c97d1ec00 /time
parentaf38d7ce63a5c0196a1b2e353f84081ed17e9ead (diff)
downloadglibc-8930fcf9beee6c0d1ace2e4a67be1525f5d6b8aa.tar.gz
glibc-8930fcf9beee6c0d1ace2e4a67be1525f5d6b8aa.tar.xz
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')
-rw-r--r--time/tzfile.c7
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);