Advertisement
TigerManGamingYT

threading2

Jul 26th, 2022 (edited)
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. import sys
  2. import trace
  3. import threading
  4. import time
  5. class Thread(threading.Thread):
  6. def __init__(self, *args, **keywords):
  7. threading.Thread.__init__(self, *args, **keywords)
  8. self.killed = False
  9.  
  10. def start(self):
  11. self.__run_backup = self.run
  12. self.run = self.__run
  13. threading.Thread.start(self)
  14.  
  15. def __run(self):
  16. sys.settrace(self.globaltrace)
  17. self.__run_backup()
  18. self.run = self.__run_backup
  19.  
  20. def globaltrace(self, frame, event, arg):
  21. if event == 'call':
  22. return self.localtrace
  23. else:
  24. return None
  25.  
  26. def localtrace(self, frame, event, arg):
  27. if self.killed:
  28. if event == 'line':
  29. raise SystemExit()
  30. return self.localtrace
  31.  
  32. def kill(self):
  33. self.killed = True
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement