You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gs...@apache.org on 2007/12/14 12:23:35 UTC
svn commit: r604167 -
/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Connection.cpp
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) {