Merge pull request #7238 from Mailaender/server-cpu-fix
Fixed high CPU usage due to Socket.Select not blocking the thread properly when the game started
This commit is contained in:
1
AUTHORS
1
AUTHORS
@@ -26,6 +26,7 @@ Also thanks to:
|
|||||||
* Andrew Perkins
|
* Andrew Perkins
|
||||||
* Andrew Riedi
|
* Andrew Riedi
|
||||||
* Andreas Beck (baxtor)
|
* Andreas Beck (baxtor)
|
||||||
|
* Ang Soon Li (asl97)
|
||||||
* Arik Lirette (Angusm3)
|
* Arik Lirette (Angusm3)
|
||||||
* Barnaby Smith (mvi)
|
* Barnaby Smith (mvi)
|
||||||
* Bellator
|
* Bellator
|
||||||
|
|||||||
@@ -156,11 +156,11 @@ namespace OpenRA.Server
|
|||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
var checkRead = new List<Socket>();
|
var checkRead = new List<Socket>();
|
||||||
checkRead.Add(listener.Server);
|
if (State == ServerState.WaitingPlayers) checkRead.Add(listener.Server);
|
||||||
foreach (var c in Conns) checkRead.Add(c.socket);
|
foreach (var c in Conns) checkRead.Add(c.socket);
|
||||||
foreach (var c in PreConns) checkRead.Add(c.socket);
|
foreach (var c in PreConns) checkRead.Add(c.socket);
|
||||||
|
|
||||||
Socket.Select(checkRead, null, null, timeout);
|
if (checkRead.Count > 0) Socket.Select(checkRead, null, null, timeout);
|
||||||
if (State == ServerState.ShuttingDown)
|
if (State == ServerState.ShuttingDown)
|
||||||
{
|
{
|
||||||
EndGame();
|
EndGame();
|
||||||
|
|||||||
Reference in New Issue
Block a user