Destroying purple.core in nullclient.py
[python-purple] / nullclient.py
index 8c7cb6b..8386d7c 100644 (file)
 #
 
 import getpass
-import purple
-import sys
+import sys, dl
 import time
 
+sys.setdlopenflags(dl.RTLD_NOW | dl.RTLD_GLOBAL)
+
+import purple
+
 # The information below is needed by libpurple
 __NAME__ = "nullclient"
 __VERSION__ = "0.1"
@@ -61,5 +64,9 @@ if __name__ == '__main__':
     account.set_enabled(True)
 
     while True:
-        core.iterate_main_loop()
-        time.sleep(0.01)
+        try:
+            core.iterate_main_loop()
+            time.sleep(0.01)
+        except KeyboardInterrupt:
+            core.destroy()
+            break