]> git.eshelyaron.com Git - emacs.git/commitdiff
* gnus.el (gnus-article-date-ut): Avoid race condition.
authorKarl Heuer <kwzh@gnu.org>
Tue, 28 May 1996 15:42:20 +0000 (15:42 +0000)
committerKarl Heuer <kwzh@gnu.org>
Tue, 28 May 1996 15:42:20 +0000 (15:42 +0000)
lisp/gnus.el

index 8086864db4abbdc39da7b8411502d210ea17adc8..74a6ed20a18be8678114912e4328058647fb866b 100644 (file)
@@ -11287,12 +11287,16 @@ how much time has lapsed since DATE."
            ((eq type 'lapsed)
             ;; If the date is seriously mangled, the timezone
             ;; functions are liable to bug out, so we condition-case
-            ;; the entire thing.  
-            (let* ((real-sec (condition-case ()
+            ;; the entire thing.  We call (current-time) once, rather than
+            ;; letting current-time-string and current-time-zone default to
+            ;; it, because that avoids a rare race condition when the time
+            ;; zone changes between those two calls.
+            (let* ((now (current-time))
+                   (real-sec (condition-case ()
                                  (- (gnus-seconds-since-epoch 
                                      (timezone-make-date-arpa-standard
-                                      (current-time-string) 
-                                      (current-time-zone) "UT"))
+                                      (current-time-string now
+                                      (current-time-zone now) "UT"))
                                     (gnus-seconds-since-epoch 
                                      (timezone-make-date-arpa-standard 
                                       date nil "UT")))