summaryrefslogtreecommitdiff
path: root/src/Socket.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/Socket.cc')
-rw-r--r--src/Socket.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/Socket.cc b/src/Socket.cc
index 65991a9..f14a8d3 100644
--- a/src/Socket.cc
+++ b/src/Socket.cc
@@ -390,7 +390,8 @@ bool Balau::Socket::connect(const char * hostname, int port) {
do {
Printer::elog(E_SOCKET, "Connecting now...");
- if (::connect(m_fd, (sockaddr *) &m_remoteAddr, sizeof(m_remoteAddr)) == 0) {
+ int r = ::connect(m_fd, (sockaddr *) &m_remoteAddr, sizeof(m_remoteAddr));
+ if ((r == 0) || ((r < 0) && (errno == EISCONN))) {
m_connected = true;
m_connecting = false;