X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=dom%2Fmdsal-dom-spi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fdom%2Fspi%2FPingPongTransactionChain.java;h=ec2b5a2d5eacc3d4b7f70dc93061992217ca16df;hb=a5b5d9b7882531440d4c7335cd917b1e00075bc1;hp=1cda6b08f57de65feb225dff19ed5b622963ab86;hpb=da2fb5015d6784b5d2a797a81719584a2a992514;p=mdsal.git diff --git a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/PingPongTransactionChain.java b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/PingPongTransactionChain.java index 1cda6b08f5..ec2b5a2d5e 100644 --- a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/PingPongTransactionChain.java +++ b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/PingPongTransactionChain.java @@ -267,12 +267,15 @@ public final class PingPongTransactionChain implements DOMTransactionChain { checkState(success, "Completed transaction %s while %s was submitted", tx, inflightTx); final PingPongTransaction nextTx = READY_UPDATER.getAndSet(this, null); - if (nextTx != null) { + if (nextTx == null) { + final PingPongTransaction local = shutdownTx; + if (local != null) { + processTransaction(local); + delegate.close(); + shutdownTx = null; + } + } else { processTransaction(nextTx); - } else if (shutdownTx != null) { - processTransaction(shutdownTx); - delegate.close(); - shutdownTx = null; } }