fix(net): fix WowConnection class to work correctly on Linux

This commit is contained in:
VDm 2025-04-17 23:11:33 +04:00
parent 957a4c7e2f
commit f0257d3e4c

View file

@ -807,7 +807,7 @@ WC_SEND_RESULT WowConnection::Send(CDataStore* msg, int32_t a3) {
uint32_t written; uint32_t written;
#if defined(WHOA_SYSTEM_WIN) #if defined(WHOA_SYSTEM_WIN)
written = send(this->m_sock, reinterpret_cast<char*>(sn->data), sn->size, 0x0); written = send(this->m_sock, reinterpret_cast<char*>(sn->data), sn->size, 0x0);
#elif defined(WHOA_SYSTEM_MAC) #elif defined(WHOA_SYSTEM_MAC) || defined(WHOA_SYSTEM_LINUX)
written = write(this->m_sock, sn->data, sn->size); written = write(this->m_sock, sn->data, sn->size);
#endif #endif
@ -950,7 +950,7 @@ void WowConnection::StartConnect() {
#if defined(WHOA_SYSTEM_WIN) #if defined(WHOA_SYSTEM_WIN)
u_long argp = 1; u_long argp = 1;
ioctlsocket(this->m_sock, FIONBIO, &argp); ioctlsocket(this->m_sock, FIONBIO, &argp);
#elif defined(WHOA_SYSTEM_MAC) #elif defined(WHOA_SYSTEM_MAC) || defined(WHOA_SYSTEM_LINUX)
fcntl(this->m_sock, F_SETFL, O_NONBLOCK); fcntl(this->m_sock, F_SETFL, O_NONBLOCK);
uint32_t opt = 1; uint32_t opt = 1;
@ -980,7 +980,7 @@ void WowConnection::StartConnect() {
return; return;
} }
#elif defined(WHOA_SYSTEM_MAC) #elif defined(WHOA_SYSTEM_MAC) || defined(WHOA_SYSTEM_LINUX)
if (errno == EAGAIN || errno == EINTR || errno == EINPROGRESS) { if (errno == EAGAIN || errno == EINTR || errno == EINPROGRESS) {
this->m_lock.Leave(); this->m_lock.Leave();