mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-02-19 22:53:47 +00:00
Merge pull request #1952 from pacomont/Fix_Issue_#1951_TCPObject_is_broken_3.10
Fix issue #1951 tcp object is broken 3.10
This commit is contained in:
commit
130d08edd4
1 changed files with 19 additions and 15 deletions
|
|
@ -824,17 +824,15 @@ NetSocket Net::openConnectTo(const char *addressString)
|
|||
if (socketFd != InvalidSocketHandle)
|
||||
{
|
||||
setBlocking(handleFd, false);
|
||||
if (::connect(socketFd, (struct sockaddr *)&ipAddr, sizeof(ipAddr)) == -1 &&
|
||||
errno != EINPROGRESS)
|
||||
if (::connect(socketFd, (struct sockaddr *)&ipAddr, sizeof(ipAddr)) == -1)
|
||||
{
|
||||
error = PlatformNetState::getLastError();
|
||||
|
||||
if (error != Net::WouldBlock)
|
||||
Net::Error err = PlatformNetState::getLastError();
|
||||
if (err != Net::WouldBlock)
|
||||
{
|
||||
Con::errorf("Error connecting %s: %s",
|
||||
addressString, strerror(errno));
|
||||
closeSocket(handleFd);
|
||||
handleFd = NetSocket::INVALID;
|
||||
Con::errorf("Error connecting to %s: %u",
|
||||
addressString, err);
|
||||
closeSocket(handleFd);
|
||||
handleFd = NetSocket::INVALID;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -855,14 +853,20 @@ NetSocket Net::openConnectTo(const char *addressString)
|
|||
sockaddr_in6 ipAddr6;
|
||||
NetAddressToIPSocket6(&address, &ipAddr6);
|
||||
SOCKET socketFd = PlatformNetState::smReservedSocketList.activate(handleFd, AF_INET6, false, true);
|
||||
if (::connect(socketFd, (struct sockaddr *)&ipAddr6, sizeof(ipAddr6)) == -1 &&
|
||||
errno != EINPROGRESS)
|
||||
if (socketFd != InvalidSocketHandle)
|
||||
{
|
||||
setBlocking(handleFd, false);
|
||||
Con::errorf("Error connecting %s: %s",
|
||||
addressString, strerror(errno));
|
||||
closeSocket(handleFd);
|
||||
handleFd = NetSocket::INVALID;
|
||||
if (::connect(socketFd, (struct sockaddr *)&ipAddr6, sizeof(ipAddr6)) == -1)
|
||||
{
|
||||
Net::Error err = PlatformNetState::getLastError();
|
||||
if (err != Net::WouldBlock)
|
||||
{
|
||||
Con::errorf("Error connecting to %s: %u",
|
||||
addressString, err);
|
||||
closeSocket(handleFd);
|
||||
handleFd = NetSocket::INVALID;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue