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.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((dataform_suite))
|
||||
# jcl_suite = unittest.TestSuite((component_suite))
|
||||
jcl_suite = unittest.TestSuite((component_suite, \
|
||||
feeder_component_suite, \
|
||||
feeder_suite, \
|
||||
|
||||
@@ -98,6 +98,7 @@ class JCLComponent(Component, object):
|
||||
self.__logger = logging.getLogger("jcl.jabber.JCLComponent")
|
||||
self.lang = Lang()
|
||||
self.running = False
|
||||
self.wait_event = threading.Event()
|
||||
|
||||
signal.signal(signal.SIGINT, self.signal_handler)
|
||||
signal.signal(signal.SIGTERM, self.signal_handler)
|
||||
@@ -162,6 +163,7 @@ class JCLComponent(Component, object):
|
||||
to_jid = _account.user_jid, \
|
||||
stanza_type = "unavailable"))
|
||||
self.db_disconnect()
|
||||
self.wait_event.set()
|
||||
timer_thread.join(JCLComponent.timeout)
|
||||
self.disconnect()
|
||||
self.__logger.debug("Exitting normally")
|
||||
@@ -194,10 +196,12 @@ class JCLComponent(Component, object):
|
||||
and self.stream.socket is not None):
|
||||
self.handle_tick()
|
||||
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:
|
||||
self.queue.put(exception)
|
||||
raise
|
||||
self.__logger.info("Timer thread terminated...")
|
||||
|
||||
def authenticated(self):
|
||||
"""Override authenticated Component event handler
|
||||
|
||||
Reference in New Issue
Block a user