diff --git a/OpenRA.Game/Network/Connection.cs b/OpenRA.Game/Network/Connection.cs index f47f1d6d44..7670918a51 100755 --- a/OpenRA.Game/Network/Connection.cs +++ b/OpenRA.Game/Network/Connection.cs @@ -115,6 +115,8 @@ namespace OpenRA.Network { connectionState = ConnectionState.NotConnected; } + catch ( IOException ) { socket.Close(); } + catch (ThreadAbortException ) { socket.Close(); } } ) { IsBackground = true }; t.Start(); @@ -145,8 +147,8 @@ namespace OpenRA.Network disposed = true; GC.SuppressFinalize( this ); - socket.Close(); t.Abort(); + t.Join(); } ~NetworkConnection() { Dispose(); }