Folks, Here's the patch I plan to upload as 2.0 -> 2.0.1 (module Version.py file updates). This should fix the bin/withlist buglet and the qrunner deadlock problem. I've installed it on mail.python.org and it seems to be working, so please give it a look. I will be checking this into the 2.0.1 branch. Cheers, -Barry Index: Mailman/Version.py =================================================================== RCS file: /cvsroot/mailman/mailman/Mailman/Version.py,v retrieving revision 1.20 diff -u -r1.20 Version.py --- Mailman/Version.py 2000/11/21 15:57:05 1.20 +++ Mailman/Version.py 2001/01/02 19:53:34 @@ -15,7 +15,7 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # Mailman version -VERSION = "2.0" +VERSION = "2.0.1b1" # And as a hex number in the manner of PY_VERSION_HEX ALPHA = 0xa @@ -27,10 +27,10 @@ MAJOR_REV = 2 MINOR_REV = 0 -MICRO_REV = 0 -REL_LEVEL = FINAL +MICRO_REV = 1 +REL_LEVEL = BETA # at most 15 beta releases! -REL_SERIAL = 0 +REL_SERIAL = 1 HEX_VERSION = ((MAJOR_REV << 24) | (MINOR_REV << 16) | (MICRO_REV << 8) | (REL_LEVEL << 4) | (REL_SERIAL << 0)) Index: admin/www/download.ht =================================================================== RCS file: /cvsroot/mailman/mailman/admin/www/download.ht,v retrieving revision 1.5 diff -u -r1.5 download.ht --- admin/www/download.ht 2000/11/21 15:57:49 1.5 +++ admin/www/download.ht 2001/01/02 19:53:38 @@ -65,9 +65,9 @@ <h3>Downloading</h3> <p>Version -(<!-VERSION--->2.0<!-VERSION--->, +(<!-VERSION--->2.0.1b1<!-VERSION--->, released on -<!-DATE--->Nov 21 2000<!-DATE--->) +<!-DATE--->Jan 2 2001<!-DATE--->) is the current GNU release. It is available from the following mirror sites: <ul> Index: bin/withlist =================================================================== RCS file: /cvsroot/mailman/mailman/bin/withlist,v retrieving revision 1.11 diff -u -r1.11 withlist --- bin/withlist 2000/11/11 01:54:26 1.11 +++ bin/withlist 2001/01/02 19:53:52 @@ -159,6 +159,8 @@ except getopt.error, m: usage(m) + lock = 0 + run = None for opt, arg in opts: if opt in ('-h', '--help'): usage(code=0) @@ -171,8 +173,6 @@ usage('No list name supplied.') listname = string.lower(args.pop(0)) - lock = 0 - run = None # first try to open mailing list write('Loading list:', listname, file=sys.stderr, nl=0) Index: cron/qrunner =================================================================== RCS file: /cvsroot/mailman/mailman/cron/qrunner,v retrieving revision 1.18 diff -u -r1.18 qrunner --- cron/qrunner 2000/09/18 21:28:42 1.18 +++ cron/qrunner 2001/01/02 19:53:52 @@ -78,6 +78,7 @@ import time import marshal import mimetools +from stat import ST_SIZE import paths from Mailman import mm_cfg @@ -191,6 +192,17 @@ msgcount = 0 allkids = {} for file in os.listdir(mm_cfg.QUEUE_DIR): + # Keep the qrunner lock alive for a while longer + lock.refresh() + root, ext = os.path.splitext(os.path.join(mm_cfg.QUEUE_DIR, file)) + if ext == '.db': + # If the .db file has no corresponding .msg file, we might as well + # remove the .db file, since there's little we can do about it. + if not os.path.exists(root+'.msg'): + syslog('qrunner', 'Unlinking orphaned .db file: %s.db' % root) + os.unlink(root+'.db') + # just trigger off the .msg files + continue # Have we exceeded either resource limit? if mm_cfg.QRUNNER_PROCESS_LIFETIME is not None and \ (time.time() - t0) > mm_cfg.QRUNNER_PROCESS_LIFETIME: @@ -199,12 +211,6 @@ msgcount > mm_cfg.QRUNNER_MAX_MESSAGES: break msgcount = msgcount + 1 - # Keep the qrunner lock alive for a while longer - lock.refresh() - root, ext = os.path.splitext(os.path.join(mm_cfg.QUEUE_DIR, file)) - if ext <> '.msg': - # trigger just off the .msg file - continue msgfp = dbfp = None try: dbfp = open(root + '.db')
participants (1)
-
barry@digicool.com