diff options
author | Gordon Sim <gsim@apache.org> | 2009-06-08 17:39:24 +0000 |
---|---|---|
committer | Gordon Sim <gsim@apache.org> | 2009-06-08 17:39:24 +0000 |
commit | 3f6bd06a2515603d1b4f0133e529919b6d9a30e7 (patch) | |
tree | 03a1bd0d9bc79130cad3844e7de42dcb944fbc6a /cpp/src/qpid/broker/Message.cpp | |
parent | 0d9a9a82bc754e8ee12c5b7b4c8befd7b5b5c12b (diff) | |
download | qpid-python-3f6bd06a2515603d1b4f0133e529919b6d9a30e7.tar.gz |
If expiration is already set, don't alter it.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@782712 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Message.cpp')
-rw-r--r-- | cpp/src/qpid/broker/Message.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/cpp/src/qpid/broker/Message.cpp b/cpp/src/qpid/broker/Message.cpp index 1e9eb9d386..3f4f63e48c 100644 --- a/cpp/src/qpid/broker/Message.cpp +++ b/cpp/src/qpid/broker/Message.cpp @@ -326,8 +326,11 @@ void Message::setTimestamp(const boost::intrusive_ptr<ExpiryPolicy>& e) if (props->getTtl()) { // AMQP requires setting the expiration property to be posix // time_t in seconds. TTL is in milliseconds - time_t now = ::time(0); - props->setExpiration(now + (props->getTtl()/1000)); + if (!props->getExpiration()) { + //only set expiration in delivery properties if not already set + time_t now = ::time(0); + props->setExpiration(now + (props->getTtl()/1000)); + } // Use higher resolution time for the internal expiry calculation. expiration = AbsTime(AbsTime::now(), Duration(props->getTtl() * TIME_MSEC)); setExpiryPolicy(e); |