ovs.stream: Fix logic bug in Stream.connect().
authorBen Pfaff <blp@nicira.com>
Tue, 23 Aug 2011 18:09:46 +0000 (11:09 -0700)
committerBen Pfaff <blp@nicira.com>
Wed, 24 Aug 2011 18:55:49 +0000 (11:55 -0700)
The loop here is supposed to run at least once, and to continue looping as
long as the loop body changes the current state, but this bug caused it to
continue looping until the connection completed in success or failure.  It
probably didn't cause many problems in practice because only Unix domain
socket connections are currently supported, and those connections normally
complete immediately.

Reported-by: Reid Price <reid@nicira.com>
python/ovs/stream.py

index 2192379..c1ce422 100644 (file)
@@ -136,6 +136,7 @@ class Stream(object):
         returns errno.EAGAIN."""
         last_state = -1         # Always differs from initial self.state
         while self.state != last_state:
+            last_state = self.state
             if self.state == Stream.__S_CONNECTING:
                 self.__scs_connecting()
             elif self.state == Stream.__S_CONNECTED: