slave.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:rebus 作者: airbus-seclab 项目源码 文件源码
def run_agents(self):
        self.agent.run_and_catch_exc()
        if self.agent.__class__.run != Agent.run:
            # the run() method has been overridden - agent will run on his own
            # then quit
            self.iface.unregister(self.agent_id)
            return
        log.info("Entering agent loop")
        self.loop = gobject.MainLoop()
        try:
            self.loop.run()
        except (KeyboardInterrupt, SystemExit):
            for args in self.agent.held_locks:
                self.agent.unlock(*args)
            self.loop.quit()
        # Clean up signals - useful for tests, where one process runs several
        # agents successively
        self.bus.remove_signal_receiver(self.broadcast_wrapper,
                                        dbus_interface="com.airbus.rebus.bus",
                                        signal_name="new_descriptor")
        self.bus.remove_signal_receiver(self.targeted_wrapper,
                                        dbus_interface="com.airbus.rebus.bus",
                                        signal_name="targeted_descriptor")
        self.bus.remove_signal_receiver(self.bus_exit_handler,
                                        dbus_interface="com.airbus.rebus.bus",
                                        signal_name="bus_exit")
        self.iface.unregister(self.agent_id)
        self.agent.save_internal_state()

    # DBus specific functions
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号