summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrebs <drebs@leap.se>2015-05-29 19:02:44 -0300
committerdrebs <drebs@leap.se>2015-05-29 19:05:02 -0300
commit907a864c774cc43fcf0ebff3d6b5082901661e98 (patch)
tree8f54fa030bb85aefaa877736d114d8d26739a8da
parent5a0de9fd25d783039345674680c67a2bd91815a5 (diff)
[bug] move events server init to backend
If the events server is initialized in a different process than the backend, the txzmq socket raises an "zmq.error.ZMQError: Interrupted system call" exception during the events server initialization. Despite that, communication seems to work flawlessly after the initialization. Moving the events server initialization to the same process as the backend causes the exception to not be raised during events server intialization.
-rw-r--r--src/leap/bitmask/app.py7
-rw-r--r--src/leap/bitmask/backend_app.py5
2 files changed, 5 insertions, 7 deletions
diff --git a/src/leap/bitmask/app.py b/src/leap/bitmask/app.py
index db390a63..731c168c 100644
--- a/src/leap/bitmask/app.py
+++ b/src/leap/bitmask/app.py
@@ -57,7 +57,6 @@ from leap.bitmask.services.mail import plumber
from leap.bitmask.util import leap_argparse, flags_to_dict
from leap.bitmask.util.requirement_checker import check_requirements
-from leap.common.events import server as event_server
from leap.mail import __version__ as MAIL_VERSION
import codecs
@@ -153,12 +152,6 @@ def start_app():
# XXX mail repair commands disabled for now
# do_mail_plumbing(opts)
- try:
- event_server.ensure_server()
- except Exception as e:
- # We don't even have logger configured in here
- print "Could not ensure server: %r" % (e,)
-
PLAY_NICE = os.environ.get("LEAP_NICE")
if PLAY_NICE and PLAY_NICE.isdigit():
nice = os.nice(int(PLAY_NICE))
diff --git a/src/leap/bitmask/backend_app.py b/src/leap/bitmask/backend_app.py
index 3e88a95a..5fc8d1e2 100644
--- a/src/leap/bitmask/backend_app.py
+++ b/src/leap/bitmask/backend_app.py
@@ -21,6 +21,8 @@ import logging
import multiprocessing
import signal
+from leap.common.events import server as event_server
+
from leap.bitmask.backend.leapbackend import LeapBackend
from leap.bitmask.backend.utils import generate_zmq_certificates
from leap.bitmask.config import flags
@@ -68,6 +70,9 @@ def run_backend(bypass_checks=False, flags_dict=None, frontend_pid=None):
if flags_dict is not None:
dict_to_flags(flags_dict)
+ # start the events server
+ event_server.ensure_server()
+
backend = LeapBackend(bypass_checks=bypass_checks,
frontend_pid=frontend_pid)
backend.run()