hi, > Empty send_q.get() is blocking send thread. > Because of this issue, datapath state never transit to DEAD.
oops, sorry. probably it's better to just leave it for gc? YAMAMOTO Takashi > > This fixes commit 83e3709a0d70f889e794d1c5f70c1c1eb73075f7. > - controller: fix send_q draining > > https://github.com/osrg/ryu/commit/83e3709a0d70f889e794d1c5f70c1c1eb73075f7 > > Signed-off-by: YAMADA Hideki <[email protected]> > --- > ryu/controller/controller.py | 7 ++++++- > 1 files changed, 6 insertions(+), 1 deletions(-) > > diff --git a/ryu/controller/controller.py b/ryu/controller/controller.py > index 9dc745a..59286ff 100644 > --- a/ryu/controller/controller.py > +++ b/ryu/controller/controller.py > @@ -24,6 +24,7 @@ import greenlet > import ssl > from gevent.server import StreamServer > from gevent.queue import Queue > +from Queue import Empty > > import ryu.base.app_manager > > @@ -198,7 +199,11 @@ class Datapath(object): > finally: > q = self.send_q > self.send_q = None > - while q.get(): > + try: > + while q.get_nowait(): > + pass > + except Empty: > + #LOG.debug('DP(id=%s): send_q was cleared', self.id) > pass > > def send(self, buf): > -- > 1.7.1 > > > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_d2d_feb > _______________________________________________ > Ryu-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/ryu-devel ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_feb _______________________________________________ Ryu-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ryu-devel
