From 4f19fc54cd671d594a685abf7ab44e8c09d4956d Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Mon, 16 Jun 2014 19:18:53 +0900 Subject: [PATCH] app_manager: Stop checking h.callers in get_handlers() dynamically registered handlers (vs. ones registered via set_ev_cls/handler decorators) do not necessarily have h.callers. Signed-off-by: YAMAMOTO Takashi Signed-off-by: FUJITA Tomonori --- ryu/base/app_manager.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ryu/base/app_manager.py b/ryu/base/app_manager.py index d433c59a..695c401e 100644 --- a/ryu/base/app_manager.py +++ b/ryu/base/app_manager.py @@ -226,9 +226,10 @@ class RyuApp(object): return handlers def test(h): - if ev_cls not in h.callers: - # this handler does not listen the event. - return False + if not hasattr(h, 'callers') or ev_cls not in h.callers: + # dynamically registered handlers does not have + # h.callers element for the event. + return True states = h.callers[ev_cls].dispatchers if not states: # empty states means all states