else: if duration < supervisor_speed: time.sleep(max(supervisor_speed - duration, 0)) self.processes.terminate() self.daemon.removepid() break except KeyboardInterrupt: logger.supervisor("^C received") self._shutdown = True except IOError: logger.supervisor( "I/O Error received, most likely ^C during IO") self._shutdown = True except ProcessError: logger.supervisor( "Problem when sending message(s) to helper program, stopping" ) self._shutdown = True # from leak import objgraph # print objgraph.show_most_common_types(limit=20) # import random # obj = objgraph.by_type('ReceivedRoute')[random.randint(0,2000)] # objgraph.show_backrefs([obj], max_depth=10) def shutdown(self): """terminate all the current BGP connections""" logger.info("Performing shutdown", "supervisor") for key in self._peers.keys(): self._peers[key].stop()
if not errno in errno_block: raise else: if duration < supervisor_speed: time.sleep(max(supervisor_speed-duration,0)) self.processes.terminate() self.daemon.removepid() break except KeyboardInterrupt: logger.supervisor("^C received") self._shutdown = True except IOError: logger.supervisor("I/O Error received, most likely ^C during IO") self._shutdown = True except ProcessError: logger.supervisor("Problem when sending message(s) to helper program, stopping") self._shutdown = True # from leak import objgraph # print objgraph.show_most_common_types(limit=20) # import random # obj = objgraph.by_type('ReceivedRoute')[random.randint(0,2000)] # objgraph.show_backrefs([obj], max_depth=10) def shutdown (self): """terminate all the current BGP connections""" logger.info("Performing shutdown","supervisor") for key in self._peers.keys(): self._peers[key].stop() def reload (self): """reload the configuration and send to the peer the route which changed"""