Merge "BUG-650: clarify TransactionFactory close state handling"
authorTony Tkacik <ttkacik@cisco.com>
Sun, 14 Sep 2014 15:00:50 +0000 (15:00 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Sun, 14 Sep 2014 15:00:50 +0000 (15:00 +0000)
opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/AbstractDOMForwardedTransactionFactory.java

index 6838e39093abcf35f6ad3d1e06894d8a346b46b5..8ef60a43d47a0872892b3c360f0836d2c9322141 100644 (file)
@@ -212,8 +212,8 @@ abstract class AbstractDOMForwardedTransactionFactory<T extends DOMStoreTransact
 
     @Override
     public void close() {
-        final int wasClosed = UPDATER.getAndSet(this, 1);
-        Preconditions.checkState(wasClosed == 0, "Transaction factory was already closed");
+        final boolean success = UPDATER.compareAndSet(this, 0, 1);
+        Preconditions.checkState(success, "Transaction factory was already closed");
     }
-
 }
+