From c3c98db893d6e127dc5e0037fb2c3548e8f90a5a Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Thu, 12 Jun 2008 19:19:22 +0000 Subject: Propagate error messages across the Demux between network & user threads. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@667205 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/client/Demux.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'cpp/src/qpid/client/Demux.cpp') diff --git a/cpp/src/qpid/client/Demux.cpp b/cpp/src/qpid/client/Demux.cpp index cb9372cee7..b774214ae4 100644 --- a/cpp/src/qpid/client/Demux.cpp +++ b/cpp/src/qpid/client/Demux.cpp @@ -47,7 +47,7 @@ ScopedDivert::~ScopedDivert() Demux::Demux() : defaultQueue(new Queue()) {} -Demux::~Demux() { close(); } +Demux::~Demux() { close(sys::ExceptionHolder(new ClosedException())); } Demux::QueuePtr ScopedDivert::getQueue() { @@ -69,13 +69,13 @@ void Demux::handle(framing::FrameSet::shared_ptr frameset) } } -void Demux::close() +void Demux::close(const sys::ExceptionHolder& ex) { sys::Mutex::ScopedLock l(lock); for (iterator i = records.begin(); i != records.end(); i++) { - i->queue->close(); + i->queue->close(ex); } - defaultQueue->close(); + defaultQueue->close(ex); } void Demux::open() -- cgit v1.2.1