fixed bug where keylogger would not properly exit due to still-running timer thread.

nanotube [2005-11-25 15:25]
fixed bug where keylogger would not properly exit due to still-running timer thread.
Filename
CHANGELOG.TXT
keylogger.pyw
mytimer.py
version.py
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"
ViewGit