events framework should be made asynchronous
Not sure why, but app it's blocking on event registration until I hit ctrl-c. This might be a stalled socket in my box, but surfaces the blocking problem behind the events framework. It also explains some delays I've been observing in the app initialization from time to time.
Should move events to twisted domain.
2013-06-20 08:57:00,755 - leap - INFO - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2013-06-20 08:57:00,756 - leap - INFO - LEAP client version 0.2.1-133-g5a24038-dirty 2013-06-20 08:57:00,759 - leap - INFO - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2013-06-20 08:57:00,759 - leap - INFO - Starting app 2013-06-20 08:57:00,912 - leap - DEBUG - Qt4 reactor installed 2013-06-20 08:57:00,914 - leap.common.events.component - DEBUG - ensure component daemon 2013-06-20 08:57:00,915 - leap.common.events.daemon - INFO - Running server on port 0. 2013-06-20 08:57:01,016 - leap.common.events.component - INFO - Sending registration request to server on port 8090: event: UPDATER_NEW_UPDATES port: 42269 m ^CTraceback (most recent call last): File "app.py", line 169, in main() File "app.py", line 153, in main bypass_checks=bypass_checks) File "/home/kali/leap/leap_client/src/leap/gui/mainwindow.py", line 115, in __init__ callback=self._new_updates_available) File "/home/kali/Virtualenvs/leap-client/local/lib/python2.7/site-packages/leap/common/events/__init__.py", line 67, in register return component.register(signal, callback, uid, replace, reqcbk, timeout) File "/home/kali/Virtualenvs/leap-client/local/lib/python2.7/site-packages/leap/common/events/component.py", line 141, in register return service.register(request, callback=reqcbk, timeout=timeout) File "/home/kali/Virtualenvs/leap-client/local/lib/python2.7/site-packages/protobuf.socketrpc-1.3.2-py2.7.egg/protobuf/socketrpc/service.py", line 114, in timeout, callback) File "/home/kali/Virtualenvs/leap-client/local/lib/python2.7/site-packages/protobuf.socketrpc-1.3.2-py2.7.egg/protobuf/socketrpc/service.py", line 194, in call rpc_thread.join(timeout) File "/usr/lib/python2.7/threading.py", line 958, in join self.__block.wait(delay) File "/usr/lib/python2.7/threading.py", line 358, in wait _sleep(delay) KeyboardInterrupt Exception in thread Thread-1 (most likely raised during interpreter shutdown): Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 808, in __bootstrap_inner File "/home/kali/Virtualenvs/leap-client/local/lib/python2.7/site-packages/leap/common/events/daemon.py", line 190, in run File "/home/kali/Virtualenvs/leap-client/local/lib/python2.7/site-packages/leap/common/events/daemon.py", line 73, in run File "/usr/lib/python2.7/SocketServer.py", line 235, in serve_forever : 'NoneType' object has no attribute 'select' (leap-client)
(from redmine: created on 2013-06-19, closed on 2013-07-25)