diff options
| author | Keith Wall <kwall@apache.org> | 2014-01-29 14:20:20 +0000 |
|---|---|---|
| committer | Keith Wall <kwall@apache.org> | 2014-01-29 14:20:20 +0000 |
| commit | c9a0d147150447e2cb56ab600fb58aebabb2fe50 (patch) | |
| tree | 60bbfb5e5f76256c83a07099d0dc33ade8b078c3 /java/broker-core/src | |
| parent | 448f5521274d69fece844c259aeaa8f57a1de5e7 (diff) | |
| download | qpid-python-c9a0d147150447e2cb56ab600fb58aebabb2fe50.tar.gz | |
QPID-5211: Prevent spurious not valid state transitions for MemoryMessageStore and test QuotaMessageStore
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1562452 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker-core/src')
| -rw-r--r-- | java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractMemoryMessageStore.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractMemoryMessageStore.java b/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractMemoryMessageStore.java index 8aead75c5b..1a7cd72cb6 100644 --- a/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractMemoryMessageStore.java +++ b/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractMemoryMessageStore.java @@ -133,9 +133,11 @@ abstract public class AbstractMemoryMessageStore extends NullMessageStore @Override public void close() throws Exception { - _stateManager.attainState(State.CLOSING); - _closed.getAndSet(true); - _stateManager.attainState(State.CLOSED); + if (_closed.compareAndSet(false, true)) + { + _stateManager.attainState(State.CLOSING); + _stateManager.attainState(State.CLOSED); + } } @Override |
