Open badcodebuilder opened 4 months ago
When running ryu.topology.switches and sending Ctrl+C, it will stuck. Command is here
ryu.topology.switches
Ctrl+C
ryu-manager ryu.topology.switches --observe-links loading app ryu.topology.switches loading app ryu.controller.ofp_handler instantiating app ryu.topology.switches of Switches instantiating app ryu.controller.ofp_handler of OFPHandler ^C
I analysis the code and find it stuck at https://github.com/faucetsdn/ryu/blob/d6cda4f427ff8de82b94c58aa826824a106014c2/ryu/topology/switches.py#L950
timeout=None makes it wait forever.
timeout=None
Add event set at the end of link_loophttps://github.com/faucetsdn/ryu/blob/d6cda4f427ff8de82b94c58aa826824a106014c2/ryu/topology/switches.py#L979
link_loop
... self.link_event.wait(timeout=self.TIMEOUT_CHECK_PERIOD) if not self.lldp_event.is_set(): self.lldp_event.set()
I do not know if my solution is correct when really being used, because I only test whether it can work or not, I do not connect it to Mininet.
Problem
When running
ryu.topology.switches
and sendingCtrl+C
, it will stuck. Command is hereI analysis the code and find it stuck at https://github.com/faucetsdn/ryu/blob/d6cda4f427ff8de82b94c58aa826824a106014c2/ryu/topology/switches.py#L950
timeout=None
makes it wait forever.My solution
Add event set at the end of
link_loop
https://github.com/faucetsdn/ryu/blob/d6cda4f427ff8de82b94c58aa826824a106014c2/ryu/topology/switches.py#L979I do not know if my solution is correct when really being used, because I only test whether it can work or not, I do not connect it to Mininet.