From 907a864c774cc43fcf0ebff3d6b5082901661e98 Mon Sep 17 00:00:00 2001 From: drebs Date: Fri, 29 May 2015 19:02:44 -0300 Subject: [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. --- src/leap/bitmask/app.py | 7 ------- src/leap/bitmask/backend_app.py | 5 +++++ 2 files changed, 5 insertions(+), 7 deletions(-) (limited to 'src') 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() -- cgit v1.2.3