aboutsummaryrefslogtreecommitdiff
path: root/ModuleManager.py
diff options
context:
space:
mode:
authorGravatar jesopo2018-09-01 18:49:50 +0100
committerGravatar Dan2018-09-01 19:09:25 +0100
commit1d35cee3328488f96fb2859daae56e89383cda6f (patch)
tree2eeb22ab9461e4e4114f2d29cb9f97a3568697d3 /ModuleManager.py
parentMassively optimise ducks.py and remove a bunch of cruft. (diff)
signature
Log when a module is unloaded, including how many references are left to the
module object
Diffstat (limited to 'ModuleManager.py')
-rw-r--r--ModuleManager.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/ModuleManager.py b/ModuleManager.py
index d2457ae5..e0b5a215 100644
--- a/ModuleManager.py
+++ b/ModuleManager.py
@@ -91,4 +91,10 @@ class ModuleManager(object):
self.events.purge_context(event_context)
del sys.modules[name]
+ references = sys.getrefcount(module)
del module
+ references -= 1 # 'del module' removes one reference
+ references -= 1 # one of the refs is from getrefcount
+
+ self.bot.log.info("Module '%s' unloaded (%d reference%s)",
+ [name, references, "" if references == 1 else "s"])