summaryrefslogtreecommitdiff
path: root/qpid/cpp
diff options
context:
space:
mode:
authorAndrew Stitcher <astitcher@apache.org>2009-03-10 19:08:18 +0000
committerAndrew Stitcher <astitcher@apache.org>2009-03-10 19:08:18 +0000
commitb6b4f33cac1c09eb06975d896b13af59fe653476 (patch)
treeed793532eb0f89dd8983cd642b09188d2f04a721 /qpid/cpp
parent30d908952f2786c547e35ea0f8273057bdc3a182 (diff)
downloadqpid-python-b6b4f33cac1c09eb06975d896b13af59fe653476.tar.gz
Really close the potential race on the client between sending
and closing a connection git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@752220 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp')
-rw-r--r--qpid/cpp/src/qpid/client/Connector.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/qpid/cpp/src/qpid/client/Connector.cpp b/qpid/cpp/src/qpid/client/Connector.cpp
index bf1627bbff..c251233082 100644
--- a/qpid/cpp/src/qpid/client/Connector.cpp
+++ b/qpid/cpp/src/qpid/client/Connector.cpp
@@ -92,8 +92,6 @@ class TCPConnector : public Connector, public sys::Codec, private sys::Runnable
framing::ProtocolVersion version;
bool initiated;
-
- sys::Mutex closedLock;
bool closed;
bool joined;
@@ -185,7 +183,7 @@ TCPConnector::~TCPConnector() {
}
void TCPConnector::connect(const std::string& host, int port){
- Mutex::ScopedLock l(closedLock);
+ Mutex::ScopedLock l(lock);
assert(closed);
try {
socket.connect(host, port);
@@ -207,7 +205,7 @@ void TCPConnector::connect(const std::string& host, int port){
}
void TCPConnector::init(){
- Mutex::ScopedLock l(closedLock);
+ Mutex::ScopedLock l(lock);
assert(joined);
ProtocolInitiation init(version);
writeDataBlock(init);
@@ -218,7 +216,7 @@ void TCPConnector::init(){
bool TCPConnector::closeInternal() {
bool ret;
{
- Mutex::ScopedLock l(closedLock);
+ Mutex::ScopedLock l(lock);
ret = !closed;
if (!closed) {
closed = true;