- bugfix for trying socket connect when nic is down

- removed platform mismatch console printf
This commit is contained in:
Mark Vejvoda
2011-05-17 00:21:51 +00:00
parent c0e4657f68
commit 93767d8ed8
3 changed files with 12 additions and 4 deletions

View File

@@ -221,7 +221,7 @@ void ClientInterface::updateLobby() {
string playerNameStr = getHumanPlayerName();
sErr = "Warning, Server and client are using the same version but different platforms.\n\nServer: " + networkMessageIntro.getVersionString() +
"\nClient: " + getNetworkVersionSVNString() + " player [" + playerNameStr + "]";
printf("%s\n",sErr.c_str());
//printf("%s\n",sErr.c_str());
}
if(Config::getInstance().getBool("PlatformConsistencyChecks","true") &&

View File

@@ -525,7 +525,7 @@ void ConnectionSlot::update(bool checkForNewClients,int lockedSlotIndex) {
string playerNameStr = name;
sErr = "Warning, Server and client are using the same version but different platforms.\n\nServer: " + getNetworkVersionSVNString() +
"\nClient: " + networkMessageIntro.getVersionString() + " player [" + playerNameStr + "]";
printf("%s\n",sErr.c_str());
//printf("%s\n",sErr.c_str());
if(SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled) SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s Line: %d] %s\n",__FILE__,__FUNCTION__,__LINE__,sErr.c_str());
}

View File

@@ -1357,9 +1357,17 @@ void Socket::setBlock(bool block){
setBlock(block,this->sock);
}
void Socket::setBlock(bool block, PLATFORM_SOCKET socket){
void Socket::setBlock(bool block, PLATFORM_SOCKET socket) {
// don't waste time if the socket is invalid
if(isSocketValid(&socket) == false) {
return;
}
#ifndef WIN32
int currentFlags = fcntl(socket, F_GETFL);
if(currentFlags < 0) {
currentFlags = 0;
}
if(block == true) {
currentFlags &= (~O_NONBLOCK);
}
@@ -1371,7 +1379,7 @@ void Socket::setBlock(bool block, PLATFORM_SOCKET socket){
u_long iMode= !block;
int err= ioctlsocket(socket, FIONBIO, &iMode);
#endif
if(err < 0){
if(err < 0) {
throwException("Error setting I/O mode for socket");
}
}