From 477f1c9e7d515300cf8263e6e9837065b814df2f Mon Sep 17 00:00:00 2001 From: Jack Garrard Date: Sat, 29 Oct 2022 18:12:53 -0700 Subject: [PATCH] Add a poll time to wait properly --- include/server/SocketClient.hpp | 1 + source/server/SocketClient.cpp | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/include/server/SocketClient.hpp b/include/server/SocketClient.hpp index 28c155c..da2bb7f 100644 --- a/include/server/SocketClient.hpp +++ b/include/server/SocketClient.hpp @@ -74,6 +74,7 @@ class SocketClient : public SocketBase { int maxBufSize = 100; bool mIsFirstConnect = true; bool mPacketQueueOpen = true; + int pollTime = 0; bool mHasRecvUdp; diff --git a/source/server/SocketClient.cpp b/source/server/SocketClient.cpp index b1905f9..3754ea0 100644 --- a/source/server/SocketClient.cpp +++ b/source/server/SocketClient.cpp @@ -15,6 +15,11 @@ #include "types.h" SocketClient::SocketClient(const char* name, sead::Heap* heap) : mHeap(heap), SocketBase(name) { +#if EMU + this->pollTime = 0; +#else + this->pollTime = -1; +#endif mRecvThread = new al::AsyncFunctorThread("SocketRecvThread", al::FunctorV0M(this, &SocketClient::recvFunc), 0, 0x1000, {0}); mSendThread = new al::AsyncFunctorThread("SocketSendThread", al::FunctorV0M(this, &SocketClient::sendFunc), 0, 0x1000, {0}); @@ -219,7 +224,7 @@ bool SocketClient::recv() { pfds[1].revents = 0; - int result = nn::socket::Poll(pfds, fd_count, 0); + int result = nn::socket::Poll(pfds, fd_count, this->pollTime); if (result == 0) { return true;