From a21f701e1e794b21c307df4d4391f3600917bc66 Mon Sep 17 00:00:00 2001 From: Dana Powers Date: Tue, 3 Feb 2015 11:35:51 -0800 Subject: Fix python2.6 threading.Event bug in ReentrantTimer --- kafka/util.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'kafka/util.py') diff --git a/kafka/util.py b/kafka/util.py index cc5c0d5..14d2b2c 100644 --- a/kafka/util.py +++ b/kafka/util.py @@ -126,7 +126,11 @@ class ReentrantTimer(object): self.active = None def _timer(self, active): - while not active.wait(self.t): + # python2.6 Event.wait() always returns None + # python2.7 and greater returns the flag value (true/false) + # we want the flag value, so add an 'or' here for python2.6 + # this is redundant for later python versions (FLAG OR FLAG == FLAG) + while not (active.wait(self.t) or active.is_set()): self.fn(*self.args, **self.kwargs) def start(self): -- cgit v1.2.1