diff options
author | Eric Wong <e@80x24.org> | 2019-11-14 01:12:11 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2019-11-14 06:43:18 +0000 |
commit | 6466b21e0776fdd88648730e7248d6887d380224 (patch) | |
tree | a0cad403b0fbae219906ec04886ae7f938684c93 /script/public-inbox-index | |
parent | 45fb16664775746dc4b3f7a55743dbe622a3c5ae (diff) | |
download | public-inbox-6466b21e0776fdd88648730e7248d6887d380224.tar.gz |
InboxWritable caching the result of ->importer leads to a circular references with returned (V2Writable|Import) object holds onto the calling InboxWritable object. With public-inbox-watch, this leads to a memory leak if a user is reloading via SIGHUP after a message is imported (it would only become noticeable with SIGHUPs after every message imported). I would not expect anybody to to notice this in real-world usage. I only noticed this since I was making -xcpdb suitable for long-lived process use (e.g. "mod_perl style") and a flock remained unreleased on v1 inboxes after resharding. WatchMaildir (used by -watch) already handles caching of the importer object itself, and all of our other real-world uses of ->importer are short-lived or designed for batch scripts, so there's no need to cache the importer result internally.
Diffstat (limited to 'script/public-inbox-index')
-rwxr-xr-x | script/public-inbox-index | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/script/public-inbox-index b/script/public-inbox-index index 439da157..139b6e56 100755 --- a/script/public-inbox-index +++ b/script/public-inbox-index @@ -33,4 +33,4 @@ foreach my $ibx (@ibxs) { PublicInbox::Admin::require_or_die(keys %$mods); PublicInbox::Admin::progress_prepare($opt); -PublicInbox::Admin::index_inbox($_, $opt) for @ibxs; +PublicInbox::Admin::index_inbox($_, undef, $opt) for @ibxs; |