diff options
author | drebs <drebs@leap.se> | 2015-05-29 19:02:44 -0300 |
---|---|---|
committer | drebs <drebs@leap.se> | 2015-05-29 19:05:02 -0300 |
commit | 907a864c774cc43fcf0ebff3d6b5082901661e98 (patch) | |
tree | 8f54fa030bb85aefaa877736d114d8d26739a8da | |
parent | 5a0de9fd25d783039345674680c67a2bd91815a5 (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.py | 7 | ||||
-rw-r--r-- | src/leap/bitmask/backend_app.py | 5 |
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() |