Приложение на C# создает COM объект посредством interop и вызывает его функции.
Приложение предоставляющее COM интерфейс стороннее и в нем ничего не изменить.
На машине с одним процессором все работает как надо, но в двухъядерной
системе переодически возникает проблема при обращении к COM объекту и вылетает исключение:
System.Runtime.InteropServices.COMException' in ...
ErrorCode: HRESULT 0x8000FFFF
Message: "Ошибка входа в критическую секцию из-за потока 2900, функция "TListEx.Lock"
а иногда поток и вовсе зависает в неуправляемом коде. Никакие манипуляции с потоковыми
аппартаментами не помогают.
Единственная безумная идея это заставить оба приложения полностью выполняться на одном
и том же процессоре (включая все рабочие потоки приложений), но что для этого сделать
непридумаю никак, подскажите какие варианты есть или где читать ?