From d4f5a3d2818414041fec547211f85ac83dd4adb7 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Wed, 17 Oct 2007 12:52:47 +0000 Subject: Report more useful error messages on connect() failure on Windows. (merges [1851]) --- lib/server/SocketStream.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/server/SocketStream.cpp b/lib/server/SocketStream.cpp index ebc57041..88bf386a 100644 --- a/lib/server/SocketStream.cpp +++ b/lib/server/SocketStream.cpp @@ -161,17 +161,26 @@ void SocketStream::Open(int Type, const char *Name, int Port) { // Dispose of the socket #ifdef WIN32 + DWORD err = WSAGetLastError(); ::closesocket(mSocketHandle); #else + int err = errno; ::close(mSocketHandle); #endif + BOX_ERROR("Failed to connect to socket (type " << Type << ", name " << Name << ", port " << Port << "): " << - "error " << errno << " (" << strerror(errno) << - ")"); + #ifdef WIN32 + GetErrorMessage(err) + #else + strerror(err) << " (" << err << ")" + #endif + ); + mSocketHandle = INVALID_SOCKET_VALUE; THROW_EXCEPTION(ConnectionException, Conn_SocketConnectError) } + ResetCounters(); } -- cgit v1.2.3