diff options
| author | Alan Conway <aconway@apache.org> | 2013-05-03 03:25:42 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2013-05-03 03:25:42 +0000 |
| commit | 315079ed78dfe4a6c44f1833281c70aa843095af (patch) | |
| tree | 6c7a19ffda2721e5d79c0ee612e239f837b25472 /cpp/src | |
| parent | bdac3612afcc171a5c8e35850fe2b7b461f7ba69 (diff) | |
| download | qpid-python-315079ed78dfe4a6c44f1833281c70aa843095af.tar.gz | |
QPID-4775: Fix core dumps in HA tests introduced in r1478418
After this revision several of the tests in ha_tests.py were core dumping with 0
pointers in FieldTable entries in Queue::settings. It's not clear why the core
dumps were occuring nor why this patch fixes them. This patch eliminates a call
to the QueueSettings copy constructor, so something fishy going is on there.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1478632 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
| -rw-r--r-- | cpp/src/qpid/broker/Broker.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/cpp/src/qpid/broker/Broker.cpp b/cpp/src/qpid/broker/Broker.cpp index bf296696cf..94583aa507 100644 --- a/cpp/src/qpid/broker/Broker.cpp +++ b/cpp/src/qpid/broker/Broker.cpp @@ -1197,13 +1197,12 @@ void Broker::deleteQueue(const std::string& name, const std::string& userId, if (queue) { if (acl) { std::map<acl::Property, std::string> params; - const qpid::broker::QueueSettings settings = queue->getSettings(); boost::shared_ptr<Exchange> altEx = queue->getAlternateExchange(); params.insert(make_pair(acl::PROP_ALTERNATE, (altEx) ? altEx->getName() : "" )); params.insert(make_pair(acl::PROP_DURABLE, queue->isDurable() ? _TRUE : _FALSE)); params.insert(make_pair(acl::PROP_EXCLUSIVE, queue->hasExclusiveOwner() ? _TRUE : _FALSE)); params.insert(make_pair(acl::PROP_AUTODELETE, queue->isAutoDelete() ? _TRUE : _FALSE)); - params.insert(make_pair(acl::PROP_POLICYTYPE, settings.dropMessagesAtLimit ? "ring" : "reject")); + params.insert(make_pair(acl::PROP_POLICYTYPE, queue->getSettings().dropMessagesAtLimit ? "ring" : "reject")); if (!acl->authorise(userId,acl::ACT_DELETE,acl::OBJ_QUEUE,name,¶ms) ) throw framing::UnauthorizedAccessException(QPID_MSG("ACL denied queue delete request from " << userId)); |
