summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Message.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2010-06-15 15:34:10 +0000
committerGordon Sim <gsim@apache.org>2010-06-15 15:34:10 +0000
commit25b12bcbc728bd6864a7206af040c3d29146e024 (patch)
tree2a2c94228fb71c69b46d4761f34c86cade6b88e8 /cpp/src/qpid/broker/Message.cpp
parentd61baa25874288ca691679af1845eaf84f8d7eb4 (diff)
downloadqpid-python-25b12bcbc728bd6864a7206af040c3d29146e024.tar.gz
QPID-2670: copy-on-write when tagging message for loop detection
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@954933 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Message.cpp')
-rw-r--r--cpp/src/qpid/broker/Message.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/cpp/src/qpid/broker/Message.cpp b/cpp/src/qpid/broker/Message.cpp
index b086d59ca5..1e56544920 100644
--- a/cpp/src/qpid/broker/Message.cpp
+++ b/cpp/src/qpid/broker/Message.cpp
@@ -52,6 +52,12 @@ Message::Message(const framing::SequenceNumber& id) :
expiration(FAR_FUTURE), enqueueCallback(0), dequeueCallback(0),
inCallback(false), requiredCredit(0) {}
+Message::Message(const Message& original) :
+ PersistableMessage(), frames(original.frames), persistenceId(0), redelivered(false), loaded(false),
+ staged(false), forcePersistentPolicy(false), publisher(0), adapter(0),
+ expiration(FAR_FUTURE), enqueueCallback(0), dequeueCallback(0),
+ inCallback(false), requiredCredit(0) {}
+
Message::~Message()
{
if (expiryPolicy)