Repository: qpid-cpp Updated Branches: refs/heads/master a3bc7cd63 -> e7400a0e0
NO-JIRA: Fix valgrind error with gcc in c++11 mode. Not sure why the error was occurring but a trivial re-factor fixes it. Error was showing up after python_tests: ==27260== Conditional jump or move depends on uninitialised value(s) ==27260== at 0x5188FBA: ~shared_count (shared_count.hpp:473) ==27260== by 0x5188FBA: ~shared_ptr (shared_ptr.hpp:336) ==27260== by 0x5188FBA: qpid::broker::SessionAdapter::ExchangeHandlerImpl::checkAlternate(boost::shared_ptr<qpid::broker::Exchange>, boost::shared_ptr<qpid::broker::Exchange>) (SessionAdapter.cpp:120) ==27260== by 0x518A666: qpid::broker::SessionAdapter::ExchangeHandlerImpl::declare(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool, bool, qpid::framing::FieldTable const&) (SessionAdapter.cpp:94) ==27260== by 0x55B0331: invoke<qpid::framing::AMQP_ServerOperations::ExchangeHandler> (ExchangeDeclareBody.h:104) ==27260== by 0x55B0331: qpid::framing::AMQP_ServerOperations::ExchangeHandler::Invoker::visit(qpid::framing::ExchangeDeclareBody const&) (ServerInvoker.cpp:630) ==27260== by 0x55B6C11: accept (ExchangeDeclareBody.h:108) ==27260== by 0x55B6C11: qpid::framing::AMQP_ServerOperations::Invoker::visit(qpid::framing::ExchangeDeclareBody const&) (ServerInvoker.cpp:338) ==27260== by 0x5192BC0: invoke<qpid::broker::SessionAdapter> (Invoker.h:67) ==27260== by 0x5192BC0: qpid::broker::SessionState::handleCommand(qpid::framing::AMQMethodBody*) (SessionState.cpp:198) ==27260== by 0x5196F54: qpid::broker::SessionState::handleIn(qpid::framing::AMQFrame&) (SessionState.cpp:295) ==27260== by 0x5647A0D: qpid::amqp_0_10::SessionHandler::handleIn(qpid::framing::AMQFrame&) (SessionHandler.cpp:93) ==27260== by 0x50F37DA: operator() (Handler.h:39) ==27260== by 0x50F37DA: qpid::broker::ConnectionHandler::handle(qpid::framing::AMQFrame&) (ConnectionHandler.cpp:93) ==27260== by 0x50ED3A3: qpid::broker::amqp_0_10::Connection::received(qpid::framing::AMQFrame&) (Connection.cpp:198) ==27260== by 0x506CEAF: qpid::amqp_0_10::Connection::decode(char const*, unsigned long) (Connection.cpp:59) ==27260== by 0x566C567: qpid::sys::AsynchIOHandler::readbuff(qpid::sys::AsynchIO&, qpid::sys::AsynchIOBufferBase*) (AsynchIOHandler.cpp:138) ==27260== by 0x55EF980: operator() (function_template.hpp:771) ==27260== by 0x55EF980: qpid::sys::posix::AsynchIO::readable(qpid::sys::DispatchHandle&) (AsynchIO.cpp:453) ==27260== by 0x566EFCC: operator() (function_template.hpp:771) ==27260== by 0x566EFCC: qpid::sys::DispatchHandle::processEvent(qpid::sys::Poller::EventType) (DispatchHandle.cpp:280) ==27260== by 0x5615925: process (Poller.h:131) ==27260== by 0x5615925: qpid::sys::Poller::run() (EpollPoller.cpp:522) ==27260== by 0x5605229: qpid::sys::(anonymous namespace)::runRunnable(void*) (Thread.cpp:35) ==27260== by 0x61E55C9: start_thread (pthread_create.c:333) ==27260== by 0x64FCF6C: clone (clone.S:109) ==27260== Project: http://git-wip-us.apache.org/repos/asf/qpid-cpp/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-cpp/commit/e7400a0e Tree: http://git-wip-us.apache.org/repos/asf/qpid-cpp/tree/e7400a0e Diff: http://git-wip-us.apache.org/repos/asf/qpid-cpp/diff/e7400a0e Branch: refs/heads/master Commit: e7400a0e0aa3413291a5e8d3652e26780bcf6b59 Parents: a3bc7cd Author: Alan Conway <[email protected]> Authored: Tue Sep 27 14:06:33 2016 -0400 Committer: Alan Conway <[email protected]> Committed: Tue Sep 27 14:06:33 2016 -0400 ---------------------------------------------------------------------- src/qpid/broker/SessionAdapter.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-cpp/blob/e7400a0e/src/qpid/broker/SessionAdapter.cpp ---------------------------------------------------------------------- diff --git a/src/qpid/broker/SessionAdapter.cpp b/src/qpid/broker/SessionAdapter.cpp index c4a0d9f..95c0dcd 100644 --- a/src/qpid/broker/SessionAdapter.cpp +++ b/src/qpid/broker/SessionAdapter.cpp @@ -115,12 +115,12 @@ void SessionAdapter::ExchangeHandlerImpl::checkType(Exchange::shared_ptr exchang void SessionAdapter::ExchangeHandlerImpl::checkAlternate(Exchange::shared_ptr exchange, Exchange::shared_ptr alternate) { - if (alternate && ((exchange->getAlternate() && alternate != exchange->getAlternate()) - || !exchange->getAlternate())) - throw NotAllowedException(QPID_MSG("Exchange declared with alternate-exchange " - << (exchange->getAlternate() ? exchange->getAlternate()->getName() : "<nonexistent>") - << ", requested " - << alternate->getName())); + if (alternate && alternate != exchange->getAlternate()) { + std::string got(exchange->getAlternate() ? exchange->getAlternate()->getName() : "<none>"); + throw NotAllowedException( + QPID_MSG("Exchange declared with alternate-exchange " << got + << ", requested " << alternate->getName())); + } } void SessionAdapter::ExchangeHandlerImpl::delete_(const string& name, bool /*ifUnused*/) --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
