From: Ethan Jackson Date: Thu, 12 Apr 2012 03:42:01 +0000 (-0700) Subject: python: Honor zero probe interval in reconnect.py X-Git-Tag: v1.6.1~38 X-Git-Url: http://git.cascardo.eti.br/?a=commitdiff_plain;h=18ea51451ff3a98ddb1b40278cacb41e8ed7914b;p=cascardo%2Fovs.git python: Honor zero probe interval in reconnect.py The python reconnect library attempted to send a probe every 0 milliseconds instead of disabling probing when the probe_interval was zero. Signed-off-by: Ethan Jackson --- diff --git a/lib/reconnect.c b/lib/reconnect.c index c16901623..78ebda543 100644 --- a/lib/reconnect.c +++ b/lib/reconnect.c @@ -523,7 +523,10 @@ reconnect_deadline__(const struct reconnect *fsm) return LLONG_MAX; case S_IDLE: - return fsm->state_entered + fsm->probe_interval; + if (fsm->probe_interval) { + return fsm->state_entered + fsm->probe_interval; + } + return LLONG_MAX; case S_RECONNECT: return fsm->state_entered; diff --git a/python/ovs/reconnect.py b/python/ovs/reconnect.py index 7e58f5041..f1da930a7 100644 --- a/python/ovs/reconnect.py +++ b/python/ovs/reconnect.py @@ -112,7 +112,9 @@ class Reconnect(object): @staticmethod def deadline(fsm): - return fsm.state_entered + fsm.probe_interval + if fsm.probe_interval: + return fsm.state_entered + fsm.probe_interval + return None @staticmethod def run(fsm, now): @@ -504,7 +506,9 @@ class Reconnect(object): connection is indeed in working order. (This will only be returned if the "probe interval" is nonzero--see self.set_probe_interval()).""" - if now >= self.state.deadline(self): + + deadline = self.state.deadline(self) + if deadline is not None and now >= deadline: return self.state.run(self, now) else: return None