summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/ConnectionHandler.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2007-09-26 10:51:12 +0000
committerGordon Sim <gsim@apache.org>2007-09-26 10:51:12 +0000
commit5426e8284e8f7e1454a8cb0462b91c6c60c722bc (patch)
treec761f3c96653b748e16b89c227e1fee69ef5a6ee /cpp/src/qpid/client/ConnectionHandler.cpp
parent5af56efd2ca4ced3a95f9f0343a9ad8851dc6af5 (diff)
downloadqpid-python-5426e8284e8f7e1454a8cb0462b91c6c60c722bc.tar.gz
Detect that connection is already closed on attempt to close()
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@579582 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/client/ConnectionHandler.cpp')
-rw-r--r--cpp/src/qpid/client/ConnectionHandler.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/cpp/src/qpid/client/ConnectionHandler.cpp b/cpp/src/qpid/client/ConnectionHandler.cpp
index 40e13593ea..4058bfb33f 100644
--- a/cpp/src/qpid/client/ConnectionHandler.cpp
+++ b/cpp/src/qpid/client/ConnectionHandler.cpp
@@ -102,6 +102,9 @@ void ConnectionHandler::waitForOpen()
void ConnectionHandler::close()
{
+ if (getState() != OPEN) {
+ throw Exception("Connection not open");
+ }
setState(CLOSING);
send(ConnectionCloseBody(version, 200, OK, 0, 0));
waitFor(CLOSED);