okay actually do make copy

This commit is contained in:
JohnCorby 2025-02-27 20:15:27 -08:00
parent 35cb05b953
commit 600b00bb7f

View File

@ -2,6 +2,7 @@
using Steamworks; using Steamworks;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
namespace SteamTransport; namespace SteamTransport;
@ -102,7 +103,8 @@ public class Server
{ {
var ppOutMessages = new IntPtr[Util.MaxMessages]; var ppOutMessages = new IntPtr[Util.MaxMessages];
foreach (var conn in _conns) // receive can result in disconnect, which modifies the collection. we must copy
foreach (var conn in _conns.ToList())
{ {
var numMessages = SteamNetworkingSockets.ReceiveMessagesOnConnection(conn, ppOutMessages, ppOutMessages.Length); var numMessages = SteamNetworkingSockets.ReceiveMessagesOnConnection(conn, ppOutMessages, ppOutMessages.Length);
for (var i = 0; i < numMessages; i++) for (var i = 0; i < numMessages; i++)