X-Git-Url: https://jfr.im/git/erebus.git/blobdiff_plain/6b2c681d29a7f4d3157498b491bdb8371dad4c39..689e6e9590c1fbeb47bb2433ad8418b968b49a82:/ctlmod.py?ds=sidebyside diff --git a/ctlmod.py b/ctlmod.py index d5e6deb..9a30c7e 100644 --- a/ctlmod.py +++ b/ctlmod.py @@ -18,7 +18,7 @@ def load(parent, modname): if not hasattr(mod, 'modinfo'): return modlib.error('no modinfo') - if 1 not in mod.modinfo['compatible']: + if parent.APIVERSION not in mod.modinfo['compatible']: return modlib.error('API-incompatible') modules[modname] = mod @@ -48,7 +48,9 @@ def unload(parent, modname): unload(parent, dependent) for dep in dependents[modname]: dependents[dep].remove(modname) - return modules[modname].modstop(parent) + ret = modules[modname].modstop(parent) + del modules[modname] + return ret else: return modlib.error('already unloaded')