------------------------------------------------------------
revno: 1003
committer: Mark Sapiro <[EMAIL PROTECTED]>
branch nick: 2.2
timestamp: Fri 2008-08-22 15:16:29 -0700
message:
  A problem with the logic avoiding unnecessarily reloading a current list
  object from the config.pck arises if the list is updated by another process
  within the same second that it was last read/written.  That can cause the
  reading of latest version of the list to be skipped.  This has been fixed.
modified:
  Mailman/MailList.py
  NEWS

=== modified file 'Mailman/MailList.py'
--- a/Mailman/MailList.py       2008-08-21 21:35:20 +0000
+++ b/Mailman/MailList.py       2008-08-22 22:16:29 +0000
@@ -599,8 +599,11 @@
             # file doesn't exist, we'll get an EnvironmentError with errno set
             # to ENOENT (EnvironmentError is the base class of IOError and
             # OSError).
+            # We test strictly less than here because the resolution is whole
+            # seconds and we have seen cases of the file being updated by
+            # another process in the same second.
             mtime = os.path.getmtime(dbfile)
-            if mtime <= self.__timestamp:
+            if mtime < self.__timestamp:
                 # File is not newer
                 return None, None
             fp = open(dbfile)
@@ -618,8 +621,9 @@
                 return None, e
         finally:
             fp.close()
-        # Update timestamp
-        self.__timestamp = mtime
+        # Update the timestamp.  We use current time here rather than mtime
+        # so the test above might succeed the next time.
+        self.__timestamp = int(time.time())
         return dict, None
 
     def Load(self, check_version=True):

=== modified file 'NEWS'
--- a/NEWS      2008-08-21 21:49:35 +0000
+++ b/NEWS      2008-08-22 22:16:29 +0000
@@ -43,6 +43,16 @@
       archive to emphasize that even if you got to the message from a
       subject, date or author index, previous and next are still by thread.
 
+    - With MTA = 'Postfix', if the STANZA END for a list being removed is
+      missing or munged, the remainder of the aliases and/or virtual-mailman
+      file is lost.  Fixed.
+
+    - A problem with the logic avoiding unnecessarily reloading a current list
+      object from the config.pck arises if the list is updated by another
+      process within the same second that it was last read/written.  That can
+      cause the reading of latest version of the list to be skipped.  This has
+      been fixed.
+
 2.1.11 (30-Jun-2008)
 
   New Features



--
Dormant development version (web u/i update)
https://code.launchpad.net/~mailman-coders/mailman/2.2

You are receiving this branch notification because you are subscribed to it.
_______________________________________________
Mailman-checkins mailing list
[email protected]
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org

Reply via email to