mirror of
https://github.com/chatmail/core.git
synced 2026-04-06 15:42:10 +03:00
improve debugging
This commit is contained in:
@@ -615,8 +615,14 @@ class Account(object):
|
||||
# the following wait is left out for now because it can fail if
|
||||
# a) python code holds an extra self._dc_context reference
|
||||
# b) the core does not manage to send a NULL through get_next_event()
|
||||
# self.log("wait for event thread to finish")
|
||||
# self._event_thread.wait()
|
||||
self.log("wait for event thread to finish")
|
||||
try:
|
||||
self._event_thread.wait(timeout=2)
|
||||
except RuntimeError as e:
|
||||
self.log("Could not wait for thread: {}".format(e))
|
||||
|
||||
if self._event_thread.is_alive():
|
||||
self.log("WARN: event thread did not terminate")
|
||||
|
||||
self._shutdown_event.set()
|
||||
|
||||
|
||||
@@ -151,12 +151,12 @@ class EventThread(threading.Thread):
|
||||
def mark_shutdown(self):
|
||||
self._marked_for_shutdown = True
|
||||
|
||||
def wait(self):
|
||||
def wait(self, timeout=None):
|
||||
if self == threading.current_thread():
|
||||
# we are in the callback thread and thus cannot
|
||||
# wait for the thread-loop to finish.
|
||||
return
|
||||
self.join()
|
||||
self.join(timeout=timeout)
|
||||
|
||||
def run(self):
|
||||
""" get and run events until shutdown. """
|
||||
|
||||
@@ -234,7 +234,9 @@ def acfactory(pytestconfig, tmpdir, request, session_liveconfig, data):
|
||||
ac.addr = ac.get_self_contact().addr
|
||||
ac.set_config("displayname", logid)
|
||||
if not quiet:
|
||||
ac.add_account_plugin(FFIEventLogger(ac))
|
||||
logger = FFIEventLogger(ac)
|
||||
logger.init_time = self.init_time
|
||||
ac.add_account_plugin(logger)
|
||||
self._accounts.append(ac)
|
||||
return ac
|
||||
|
||||
@@ -245,7 +247,6 @@ def acfactory(pytestconfig, tmpdir, request, session_liveconfig, data):
|
||||
self.offline_count += 1
|
||||
tmpdb = tmpdir.join("offlinedb%d" % self.offline_count)
|
||||
ac = self.make_account(tmpdb.strpath, logid="ac{}".format(self.offline_count))
|
||||
ac._evtracker.init_time = self.init_time
|
||||
ac._evtracker.set_timeout(2)
|
||||
return ac
|
||||
|
||||
|
||||
Reference in New Issue
Block a user