def unhandled_exception(greenlet, expected_args):
"""Function cleans up after a greenlet dies unexpectedly
Args:
greenlet : object that died
expected_args : list of arguments required for clean up
"""
tunnels, config, arp_daemon, web_server = expected_args
logger.error('Error: Stopping honeypot: %s is dead: %s', greenlet, greenlet.exception)
logger.info('Closing tunnel interfaces: %s', tunnels)
Builder().teardown_tunnels(tunnels, package_directory, config)
if arp_daemon:
logging.info('Terminating arpd daemon.')
arp_daemon.kill()
if web_server:
logging.info('Terminating web server.')
web_server.kill()
sys.exit(1)
评论列表
文章目录