[ mailman-Patches-1776178 ] Use inotify instead of polling in Runner.py

SourceForge.net noreply at sourceforge.net
Thu Sep 20 10:48:08 CEST 2007


Patches item #1776178, was opened at 2007-08-17 13:53
Message generated for change (Comment added) made by tsmetana
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=300103&aid=1776178&group_id=103

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: mail delivery
Group: Mailman 2.2 / 3.0
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Tomas Smetana (tsmetana)
Assigned to: Nobody/Anonymous (nobody)
Summary: Use inotify instead of polling in Runner.py

Initial Comment:
Hi,
  the Mailman wakes up 7 times per second which is somehow resource unfriendly.  This is caused by qrunners that poll for new files in queue directory.  The proposed patch replaces polling in Runner.py with inotify which enables CPU to idle when possible.

The patch requires python-inotify (http://pyinotify.sourceforge.net) to be installed.
--ts

----------------------------------------------------------------------

>Comment By: Tomas Smetana (tsmetana)
Date: 2007-09-20 10:48

Message:
Logged In: YES 
user_id=1869522
Originator: YES

File Added: mailman-inotify.patch

----------------------------------------------------------------------

Comment By: Tomas Smetana (tsmetana)
Date: 2007-09-20 10:47

Message:
Logged In: YES 
user_id=1869522
Originator: YES

Reopening: I have prepared new patches that were tested with Mailman 2 and
look to be OK.  Please consider incorporating the patches.
File Added: mailman3-inotify.patch

----------------------------------------------------------------------

Comment By: Tomas Smetana (tsmetana)
Date: 2007-08-24 10:07

Message:
Logged In: YES 
user_id=1869522
Originator: YES

The patches will make Mailman working but unstoppable.  It looks to be a
python's problem with handling signals in threads.  I'm closing this ticket
until the issues got solved.

----------------------------------------------------------------------

Comment By: Tomas Smetana (tsmetana)
Date: 2007-08-21 10:04

Message:
Logged In: YES 
user_id=1869522
Originator: YES

I'm adding updated patch for Mailman 2.2 and a new patch for Mailman 3. 
I've moved the python-inotify parts in conditionals, so if inotify is not
present in the system, everything should work as in the unpatched version.
File Added: mailman3-inotify.patch

----------------------------------------------------------------------

Comment By: Tomas Smetana (tsmetana)
Date: 2007-08-21 10:00

Message:
Logged In: YES 
user_id=1869522
Originator: YES

File Added: mailman-inotify.patch

----------------------------------------------------------------------

Comment By: Tomas Smetana (tsmetana)
Date: 2007-08-17 14:36

Message:
Logged In: YES 
user_id=1869522
Originator: YES

Yes, you're right...  I didn't realize that inotify is Linux specific.  I
will add a configure script option -- this should solve the Linux-only
problem and make the python-inotify dependency optional.  Also I will take
a look at Mailman 3 and try to create a patch for it as well.

----------------------------------------------------------------------

Comment By: Barry A. Warsaw (bwarsaw)
Date: 2007-08-17 14:16

Message:
Logged In: YES 
user_id=12800
Originator: NO

IIUC, inotify is a Linux-only thing so this would have to be optional.  I
haven't looked at the patch, but I would target this for Mailman 3 instead
of 2.2.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=300103&aid=1776178&group_id=103


More information about the Mailman-coders mailing list