summaryrefslogtreecommitdiff
path: root/Mailman/Queue/ArchRunner.py
diff options
context:
space:
mode:
authorbwarsaw2002-03-01 20:10:04 +0000
committerbwarsaw2002-03-01 20:10:04 +0000
commit48d1f07043dec43a2fe1286c214a210c84b5157c (patch)
treeebbbf47c0524c885791f49e26177d6b70980bbc8 /Mailman/Queue/ArchRunner.py
parent4cd8c053220fa86668f28ebad2f75c10d9600f86 (diff)
downloadmailman-48d1f07043dec43a2fe1286c214a210c84b5157c.tar.gz
mailman-48d1f07043dec43a2fe1286c214a210c84b5157c.tar.zst
mailman-48d1f07043dec43a2fe1286c214a210c84b5157c.zip
__del__(): Remove this because it prevents the garbage collector from
being able to free cycles containing MailList objects (see the gc module's documentation under the gc.garbage attribute for details). AFAICT, this has no effect on operations currently, because I believe we are pretty rigorous about unlocking MailList objects explicitly. This has a dramatic effect on memory leakage too, since there were/are cycles containing these fairly heavyweight objects that previously, the garbage collector couldn't free. We'll need to watch carefully for stale locks being left around, because I believe the MailList objects were at least being finalized during process shutdown, but maybe not, and it's a very dubious practice to be depending on anyway. Note: this doesn't completely eliminate the unbounded memory growth, although this in conjunction with shutting off the archiver appears to improve the steady state of memory usage (and perhaps not coincidentally greatly improves performance).
Diffstat (limited to 'Mailman/Queue/ArchRunner.py')
0 files changed, 0 insertions, 0 deletions