Итак, профилировщик написан на c ++ и запускается CLR автоматически при запуске профилируемого процесса. Затем процесс запускает другое приложение (основная цель профилирования). Профилировщик запускается и для этого процесса. Об этом все позаботились, но проблема в следующем:
Только один из этих двух профилировщиков может взаимодействовать с внешним приложением через NamedPipe. Мне нужно, чтобы оба профилировщика писали на одном канале, чтобы приложение внешнего интерфейса оставалось простым и понятным. Возможно ли это с помощью какого-то семафора, чтобы гарантировать, что один из процессов записывает в канал одновременно? Я использую функцию CreateFile (), чтобы открыть канал в профилировщике.
Задача ещё не решена.
Других решений пока нет …