[Mailman-Developers] Serious mailman locking bug

Barry A. Warsaw bwarsaw@beopen.com
Fri, 21 Jul 2000 09:28:40 -0400 (EDT)


Here's a moderately tested patch that should fix the problem.

-Barry

-------------------- snip snip --------------------
Index: MailList.py
===================================================================
RCS file: /cvsroot/mailman/mailman/Mailman/MailList.py,v
retrieving revision 1.173
diff -u -r1.173 MailList.py
--- MailList.py	2000/07/05 20:41:36	1.173
+++ MailList.py	2000/07/21 13:26:12
@@ -1339,8 +1342,13 @@
 
     def Lock(self, timeout=0):
         self.__lock.lock(timeout)
-        # Must reload our database for consistency
-        self.Load()
+        # Must reload our database for consistency.  Watch out for lists that
+        # don't exist.
+        try:
+            self.Load()
+        except Errors.MMUnknownListError:
+            self.Unlock()
+            raise
     
     def Unlock(self):
         self.__lock.unlock(unconditionally=1)