summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/qpid/broker/Link.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp/src/qpid/broker/Link.cpp')
-rw-r--r--qpid/cpp/src/qpid/broker/Link.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/qpid/cpp/src/qpid/broker/Link.cpp b/qpid/cpp/src/qpid/broker/Link.cpp
index e3b2b1f29c..997deabfaa 100644
--- a/qpid/cpp/src/qpid/broker/Link.cpp
+++ b/qpid/cpp/src/qpid/broker/Link.cpp
@@ -106,8 +106,9 @@ Link::Link(LinkRegistry* _links,
Link::~Link ()
{
- assert(state == STATE_CLOSED); // Can only get here after destroy()
- assert(connection == 0);
+ if (state == STATE_OPERATIONAL && connection != 0)
+ connection->close(CLOSE_CODE_CONNECTION_FORCED, "closed by management");
+
if (mgmtObject != 0)
mgmtObject->resourceDestroy ();
}
@@ -162,7 +163,6 @@ void Link::established(Connection* c)
agent->raiseEvent(_qmf::EventBrokerLinkUp(addr.str()));
Mutex::ScopedLock mutex(lock);
- assert(state == STATE_CONNECTING);
setStateLH(STATE_OPERATIONAL);
currentInterval = 1;
visitCount = 0;