diff --git a/Modbus.Net/Modbus.Net/MatchController.cs b/Modbus.Net/Modbus.Net/MatchController.cs index 1ddc60c..02643ee 100644 --- a/Modbus.Net/Modbus.Net/MatchController.cs +++ b/Modbus.Net/Modbus.Net/MatchController.cs @@ -47,7 +47,12 @@ namespace Modbus.Net protected override MessageWaitingDef GetMessageFromWaitingList(byte[] receiveMessage) { var returnKey = GetKeyFromMessage(receiveMessage); - return WaitingMessages.FirstOrDefault(p=>returnKey.HasValue && p.Key == returnKey.Value.Item2); + MessageWaitingDef ans; + lock (WaitingMessages) + { + ans = WaitingMessages.FirstOrDefault(p => returnKey.HasValue && p.Key == returnKey.Value.Item2); + } + return ans; } } }