Author: gsim
Date: Fri Dec 14 03:22:56 2007
New Revision: 604167
URL: http://svn.apache.org/viewvc?rev=604167&view=rev
Log:
Handle exceptions while doing 'output' for the connection (i.e. message
delivery)
Modified:
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Connection.cpp
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Connection.cpp
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Connection.cpp?rev=604167&r1=604166&r2=604167&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Connection.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Connection.cpp Fri Dec 14
03:22:56 2007
@@ -99,7 +99,14 @@
bool Connection::doOutput()
{
- return outputTasks.doOutput();
+ try{
+ return outputTasks.doOutput();
+ }catch(ConnectionException& e){
+ close(e.code, e.what(), 0, 0);
+ }catch(std::exception& e){
+ close(541/*internal error*/, e.what(), 0, 0);
+ }
+ return false;
}
void Connection::closeChannel(uint16_t id) {