STINNER Victor <vstin...@python.org> added the comment:
I cannot reproduce the issue. IMO it has been fixed. Moreover, you must join timers using timer.join(): a timer remains a thread. Code: --- import os import threading os.system(f"grep ^VmRSS /proc/{os.getpid()}/status") # warmup for n in range(10): timer = threading.Timer(5, None) timer.start() timer.cancel() timer.join() os.system(f"grep ^VmRSS /proc/{os.getpid()}/status") for n in range(1000): timer = threading.Timer(5, None) timer.start() timer.cancel() timer.join() os.system(f"grep ^VmRSS /proc/{os.getpid()}/status") --- Output on Linux with the main branch of Python (3.11): --- VmRSS: 10924 kB VmRSS: 11104 kB VmRSS: 11104 kB --- ---------- nosy: +vstinner resolution: duplicate -> fixed stage: -> resolved status: open -> closed _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue43050> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com