X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=pdm%2Fperf.py;h=7c93c858c0442314086fb4df65ef1a22ddcb5cdc;hb=dc1b10b810fa36c126aba450616e9292b85798c5;hp=fd4daa63f07f3183c00bfda69fc83bd9ff4ebcc4;hpb=86b3a0acd5fd18f7816ae91e2839ead5dfab0e33;p=pdm.git diff --git a/pdm/perf.py b/pdm/perf.py index fd4daa6..7c93c85 100644 --- a/pdm/perf.py +++ b/pdm/perf.py @@ -129,7 +129,7 @@ class eventobj(perfobj): def notify(self, event): """Notify all subscribers with the given event object.""" - for cb in self.subscribers: + for cb in list(self.subscribers): try: cb(event) except: pass @@ -278,4 +278,12 @@ sysinfo["uname"] = simpleattr(func = os.uname) sysinfo["hostname"] = simpleattr(func = socket.gethostname) sysinfo["platform"] = valueattr(init = sys.platform) -sysctl = simplefunc(exit=lambda status=0: os._exit(status)) +def reload(modname): + mod = sys.modules.get(modname) + if mod is None: + raise ValueError(modname) + import importlib + importlib.reload(mod) + +sysctl = simplefunc(exit=lambda status=0: os._exit(status), + reload=reload)