-
Notifications
You must be signed in to change notification settings - Fork 246
Open
Labels
Description
SendPacket can cause RemoveConnectionReference and AddConnectionReference can call SendPacket.
The first takes sendLocker then globalDictAndDelegateLocker, the second takes them in reverse.
NetworkCommsDotNetComplete.dll!NetworkCommsDotNet.Connections.Connection.SendPacket<byte[]>(NetworkCommsDotNet.IPacket packet, out long packetSequenceNumber) Line 527
NetworkCommsDotNetComplete.dll!NetworkCommsDotNet.Connections.Connection.SendReceiveObject<byte[], byte[]>(string sendingPacketTypeStr, string expectedReturnPacketTypeStr, int returnPacketTimeOutMilliSeconds, byte[] sendObject, NetworkCommsDotNet.SendReceiveOptions sendOptions, NetworkCommsDotNet.SendReceiveOptions receiveOptions, out long sentPacketSequenceNumber) Line 256
NetworkCommsDotNetComplete.dll!NetworkCommsDotNet.Connections.Connection.ConnectionAlive(int aliveRespondTimeoutMS, out long responseTimeMS) Line 474
NetworkCommsDotNetComplete.dll!NetworkCommsDotNet.Connections.Connection.ConnectionAlive() Line 428
NetworkCommsDotNetComplete.dll!NetworkCommsDotNet.NetworkComms.AddConnectionReferenceByRemoteEndPoint(NetworkCommsDotNet.Connections.Connection connection, System.Net.EndPoint remoteEndPointToUse, System.Net.EndPoint localEndPointToUse) Line 1897
NetworkCommsDotNetComplete.dll!NetworkCommsDotNet.NetworkComms.UpdateConnectionReferenceByEndPoint(NetworkCommsDotNet.Connections.Connection connection, System.Net.EndPoint newRemoteEndPoint, System.Net.EndPoint newLocalEndPoint) Line 1985
NetworkCommsDotNetComplete.dll!NetworkCommsDotNet.Connections.Connection.ConnectionSetupHandlerFinal(NetworkCommsDotNet.ConnectionInfo remoteConnectionInfo, ref bool possibleClashWithExistingConnection, ref NetworkCommsDotNet.Connections.Connection existingConnection) Line 488
NetworkCommsDotNetComplete.dll!NetworkCommsDotNet.Connections.Connection.ConnectionSetupHandler(System.IO.MemoryStream packetDataSection) Line 343
NetworkCommsDotNetComplete.dll!NetworkCommsDotNet.NetworkComms.CompleteIncomingItemTask(object priorityQueueItemObj) Line 334
NetworkCommsDotNetComplete.dll!NetworkCommsDotNet.Connections.Connection.IncomingPacketHandleHandOff(NetworkCommsDotNet.Tools.PacketBuilder packetBuilder) Line 163
NetworkCommsDotNetComplete.dll!NetworkCommsDotNet.Connections.TCP.TCPConnection.IncomingTCPPacketHandler(System.IAsyncResult ar) Line 405
NetworkCommsDotNetComplete.dll!NetworkCommsDotNet.NetworkComms.RemoveConnectionReference(NetworkCommsDotNet.Connections.Connection connection, bool maintainConnectionInfoHistory) Line 1809
NetworkCommsDotNetComplete.dll!NetworkCommsDotNet.Connections.Connection.CloseConnection(bool closeDueToError, int logLocation) Line 369
NetworkCommsDotNetComplete.dll!NetworkCommsDotNet.Connections.Connection.SendPacket<object>(NetworkCommsDotNet.IPacket packet, out long packetSequenceNumber) Line 659
NetworkCommsDotNetComplete.dll!NetworkCommsDotNet.Connections.Connection.SendReceiveObject<object, string[]>(string sendingPacketTypeStr, string expectedReturnPacketTypeStr, int returnPacketTimeOutMilliSeconds, object sendObject, NetworkCommsDotNet.SendReceiveOptions sendOptions, NetworkCommsDotNet.SendReceiveOptions receiveOptions, out long sentPacketSequenceNumber) Line 256
NetworkCommsDotNetComplete.dll!NetworkCommsDotNet.Connections.Connection.SendReceiveObject<object, string[]>(string sendingPacketTypeStr, string expectedReturnPacketTypeStr, int returnPacketTimeOutMilliSeconds, object sendObject, NetworkCommsDotNet.SendReceiveOptions sendOptions, NetworkCommsDotNet.SendReceiveOptions receiveOptions) Line 201
NetworkCommsDotNetComplete.dll!NetworkCommsDotNet.Connections.Connection.SendReceiveObject<string[]>(string sendingPacketTypeStr, string expectedReturnPacketTypeStr, int returnPacketTimeOutMilliSeconds) Line 298
dzmitry-lahoda