summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/ConnectionHandler.cpp
diff options
context:
space:
mode:
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);