From ab66e50da3f39257590b941ab1fabd709e298c8f Mon Sep 17 00:00:00 2001 From: Ted Ross Date: Fri, 16 Sep 2011 14:34:39 +0000 Subject: QPID-3484 - Added missing constructor for EventNotifier, fixed initialization bug. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1171592 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/cpp/src/qmf/ConsoleSession.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'qpid/cpp/src/qmf/ConsoleSession.cpp') diff --git a/qpid/cpp/src/qmf/ConsoleSession.cpp b/qpid/cpp/src/qmf/ConsoleSession.cpp index d084b8a8eb..2dfc894c58 100644 --- a/qpid/cpp/src/qmf/ConsoleSession.cpp +++ b/qpid/cpp/src/qmf/ConsoleSession.cpp @@ -67,7 +67,7 @@ Subscription ConsoleSession::subscribe(const string& q, const string& f, const s ConsoleSessionImpl::ConsoleSessionImpl(Connection& c, const string& options) : connection(c), domain("default"), maxAgentAgeMinutes(5), listenOnDirect(true), strictSecurity(false), maxThreadWaitTime(5), - opened(false), thread(0), threadCanceled(false), lastVisit(0), lastAgePass(0), + opened(false), eventNotifier(0), thread(0), threadCanceled(false), lastVisit(0), lastAgePass(0), connectedBrokerInAgentList(false), schemaCache(new SchemaCache()), nextCorrelator(1) { if (!options.empty()) { @@ -210,7 +210,7 @@ void ConsoleSessionImpl::open() } -void ConsoleSessionImpl::close() +void ConsoleSessionImpl::closeAsync() { if (!opened) throw QmfException("The session is already closed"); @@ -221,6 +221,18 @@ void ConsoleSessionImpl::close() } +void ConsoleSessionImpl::close() +{ + closeAsync(); + + if (thread) { + thread->join(); + delete thread; + thread = 0; + } +} + + bool ConsoleSessionImpl::nextEvent(ConsoleEvent& event, Duration timeout) { uint64_t milliseconds = timeout.getMilliseconds(); @@ -256,14 +268,14 @@ int ConsoleSessionImpl::pendingEvents() const void ConsoleSessionImpl::setEventNotifier(EventNotifierImpl* notifier) { qpid::sys::Mutex::ScopedLock l(lock); - this->eventNotifier = notifier; + eventNotifier = notifier; } EventNotifierImpl* ConsoleSessionImpl::getEventNotifier() const { qpid::sys::Mutex::ScopedLock l(lock); - return this->eventNotifier; + return eventNotifier; } -- cgit v1.2.1