Stop timer thread when stopping component
darcs-hash:20061130215532-86b55-c3093785c0b17528f6c667c4e877122583d2589e.gz
This commit is contained in:
@@ -61,9 +61,9 @@ if __name__ == '__main__':
|
|||||||
|
|
||||||
jcl_suite = unittest.TestSuite()
|
jcl_suite = unittest.TestSuite()
|
||||||
# jcl_suite.addTest(FeederComponent_TestCase('test_handle_tick'))
|
# jcl_suite.addTest(FeederComponent_TestCase('test_handle_tick'))
|
||||||
# jcl_suite.addTest(FeederComponent_TestCase('test_handle_get_register_new'))
|
# jcl_suite.addTest(JCLComponent_TestCase('test_handle_set_register_new_field_mandatory'))
|
||||||
# jcl_suite = unittest.TestSuite((feeder_component_suite))
|
# jcl_suite = unittest.TestSuite((feeder_component_suite))
|
||||||
# jcl_suite = unittest.TestSuite((dataform_suite))
|
# jcl_suite = unittest.TestSuite((component_suite))
|
||||||
jcl_suite = unittest.TestSuite((component_suite, \
|
jcl_suite = unittest.TestSuite((component_suite, \
|
||||||
feeder_component_suite, \
|
feeder_component_suite, \
|
||||||
feeder_suite, \
|
feeder_suite, \
|
||||||
|
|||||||
@@ -98,6 +98,7 @@ class JCLComponent(Component, object):
|
|||||||
self.__logger = logging.getLogger("jcl.jabber.JCLComponent")
|
self.__logger = logging.getLogger("jcl.jabber.JCLComponent")
|
||||||
self.lang = Lang()
|
self.lang = Lang()
|
||||||
self.running = False
|
self.running = False
|
||||||
|
self.wait_event = threading.Event()
|
||||||
|
|
||||||
signal.signal(signal.SIGINT, self.signal_handler)
|
signal.signal(signal.SIGINT, self.signal_handler)
|
||||||
signal.signal(signal.SIGTERM, self.signal_handler)
|
signal.signal(signal.SIGTERM, self.signal_handler)
|
||||||
@@ -162,6 +163,7 @@ class JCLComponent(Component, object):
|
|||||||
to_jid = _account.user_jid, \
|
to_jid = _account.user_jid, \
|
||||||
stanza_type = "unavailable"))
|
stanza_type = "unavailable"))
|
||||||
self.db_disconnect()
|
self.db_disconnect()
|
||||||
|
self.wait_event.set()
|
||||||
timer_thread.join(JCLComponent.timeout)
|
timer_thread.join(JCLComponent.timeout)
|
||||||
self.disconnect()
|
self.disconnect()
|
||||||
self.__logger.debug("Exitting normally")
|
self.__logger.debug("Exitting normally")
|
||||||
@@ -194,10 +196,12 @@ class JCLComponent(Component, object):
|
|||||||
and self.stream.socket is not None):
|
and self.stream.socket is not None):
|
||||||
self.handle_tick()
|
self.handle_tick()
|
||||||
self.__logger.debug("Resetting alarm signal")
|
self.__logger.debug("Resetting alarm signal")
|
||||||
time.sleep(self.time_unit)
|
##time.sleep(self.time_unit)
|
||||||
|
self.wait_event.wait(self.time_unit)
|
||||||
except Exception, exception:
|
except Exception, exception:
|
||||||
self.queue.put(exception)
|
self.queue.put(exception)
|
||||||
raise
|
raise
|
||||||
|
self.__logger.info("Timer thread terminated...")
|
||||||
|
|
||||||
def authenticated(self):
|
def authenticated(self):
|
||||||
"""Override authenticated Component event handler
|
"""Override authenticated Component event handler
|
||||||
|
|||||||
Reference in New Issue
Block a user