Socket-related assert fixes
git-svn-id: http://mc-server.googlecode.com/svn/trunk@227 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
parent
d43a81bae0
commit
dca87cd214
@ -35,7 +35,7 @@ cBlockingTCPLink::~cBlockingTCPLink()
|
||||
|
||||
void cBlockingTCPLink::CloseSocket()
|
||||
{
|
||||
if (m_Socket.IsValid())
|
||||
if (!m_Socket.IsValid())
|
||||
{
|
||||
m_Socket.CloseSocket();
|
||||
}
|
||||
|
@ -52,16 +52,40 @@ cSocket::xSocket cSocket::GetSocket() const
|
||||
|
||||
|
||||
|
||||
bool cSocket::IsValid(void) const
|
||||
{
|
||||
#ifdef _WIN32
|
||||
return (m_Socket != INVALID_SOCKET);
|
||||
#else // _WIN32
|
||||
return (m_Socket >= 0);
|
||||
#endif // else _WIN32
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void cSocket::CloseSocket()
|
||||
{
|
||||
#ifdef _WIN32
|
||||
#ifdef _WIN32
|
||||
|
||||
closesocket(m_Socket);
|
||||
#else
|
||||
|
||||
#else // _WIN32
|
||||
|
||||
if( shutdown(m_Socket, SHUT_RDWR) != 0 )//SD_BOTH);
|
||||
{
|
||||
LOGWARN("Error on shutting down socket (%s)", m_IPString.c_str() );
|
||||
}
|
||||
if( close(m_Socket) != 0 )
|
||||
{
|
||||
LOGWARN("Error closing socket (%s)", m_IPString.c_str() );
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif // else _WIN32
|
||||
|
||||
// Invalidate the socket so that this object can be re-used for another connection
|
||||
m_Socket = INVALID_SOCKET;
|
||||
}
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@ class cSocket
|
||||
typedef SOCKET xSocket;
|
||||
#else
|
||||
typedef int xSocket;
|
||||
static const int INVALID_SOCKET = 0;
|
||||
static const int INVALID_SOCKET = -1;
|
||||
#endif
|
||||
|
||||
public:
|
||||
@ -18,7 +18,7 @@ public:
|
||||
cSocket(xSocket a_Socket);
|
||||
~cSocket();
|
||||
|
||||
bool IsValid(void) const {return (m_Socket != INVALID_SOCKET); }
|
||||
bool IsValid(void) const;
|
||||
void CloseSocket();
|
||||
|
||||
operator const xSocket() const;
|
||||
|
Loading…
Reference in New Issue
Block a user