summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Message.cpp
diff options
context:
space:
mode:
authorCarl C. Trieloff <cctrieloff@apache.org>2009-07-07 01:53:13 +0000
committerCarl C. Trieloff <cctrieloff@apache.org>2009-07-07 01:53:13 +0000
commitcbc1284b92c4598409cb671a668ce9a6deae8fc3 (patch)
tree06b05de0bfa3d379086e06ad6a6f0beeed662aa6 /cpp/src/qpid/broker/Message.cpp
parent26cb2d00a4fab187d24c9af9115eb9e126a0d0d2 (diff)
downloadqpid-python-cbc1284b92c4598409cb671a668ce9a6deae8fc3.tar.gz
Corrected the case where message on more than one queue does not persist when last node standing is enabled
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@791672 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Message.cpp')
-rw-r--r--cpp/src/qpid/broker/Message.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/cpp/src/qpid/broker/Message.cpp b/cpp/src/qpid/broker/Message.cpp
index 6aeb9e47f9..2c3c444baa 100644
--- a/cpp/src/qpid/broker/Message.cpp
+++ b/cpp/src/qpid/broker/Message.cpp
@@ -59,7 +59,15 @@ Message::~Message()
void Message::forcePersistent()
{
- forcePersistentPolicy = true;
+ // only set forced bit if we actually need to force.
+ if (! getAdapter().isPersistent(frames) ){
+ forcePersistentPolicy = true;
+ }
+}
+
+bool Message::isForcedPersistent()
+{
+ return forcePersistentPolicy;
}
std::string Message::getRoutingKey() const