ovs-xapi-sync: Rerun processing when a db update arrives during a commit.
[sliver-openvswitch.git] / xenserver / usr_share_openvswitch_scripts_ovs-xapi-sync
index d5d6bb6..bc771d2 100755 (executable)
@@ -257,8 +257,10 @@ def main():
 
     bridges = {}                # Map from bridge name to xs_network_uuids
     iface_ids = {}              # Map from xs-vif-uuid to iface-id
+    seqno = idl.change_seqno    # Sequence number when we last processed the db
     while True:
-        if not force_run and not idl.run():
+        idl.run()
+        if not force_run and seqno == idl.change_seqno:
             poller = ovs.poller.Poller()
             idl.wait(poller)
             poller.block()
@@ -269,6 +271,7 @@ def main():
             bridges = {}
             iface_ids = {}
             force_run = False
+        seqno = idl.change_seqno
 
         txn = ovs.db.idl.Transaction(idl)