[Mailman-Developers] about qrunner and locking
Sat, 9 Dec 2000 08:03:49 -0800
On Fri, Dec 08, 2000 at 10:38:12AM -0500, Barry A. Warsaw wrote:
> MM> But then comes the question: why does qrunner have to modify
> MM> the list's config.db when it ships a message? I suppose the
> MM> relevant piece of code in qrunner is:
> | try:
> | keepqueued = dispose_message(mlist, msg, msgdata)
> | # Did the delivery generate child processes? Don't store them in
> | # the message data files.
> | kids = msgdata.get('_kids')
> | if kids:
> | allkids.update(kids)
> | del msgdata['_kids']
> | if not keepqueued:
> | # We're done with this message
> | dequeue(root)
> MM> but I have to admit to not understanding what it does.
> This isn't directly related to your problem, but some pipeline modules
> can create subprocesses, although the only one that does this
> currently is ToUsenet.py. This code makes sure that all those
> children are waited on so they don't zombie. What /really/ ought to
> happen is that there is a separate queue for usenet postings since
> once the message is prepared for usenet, it doesn't need to touch the
> list database again.
I read the other messages with interest (thanks to all those who
contributed), so let me ask: what happens if I remove the piece of code
above, and just not lock the config.db at all in qrunner?
(in my case, I will not be doing usenet gatewaying, so the children problem
doesn't seem to apply to me)
Microsoft is to operating systems & security ....
.... what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/ | Finger email@example.com for PGP key