У меня есть приложение, в котором я делюсь дескрипторами событий между потоками.Эти дескрипторы событий используются для передачи в приложение уведомлений о завершении и получении данных о последовательном вводе-выводе.Дескрипторы копируются в новые потоки как передаваемый параметр конструкторов классов или вызовы CreatThread
.Я думал, что это работает, но я столкнулся со странной ошибкой, когда кажется, что эти события могут не быть правильно сигнализированы.Должен ли я использовать функцию DuplicateHandle
для этого?Если да, будет ли правильным следующее использование?
::DuplicateHandle(
::GetCurrentProcessId(),
hMyHandle,
::GetProcessIdOfThread( hReceivingThreadHandle ),
&hMyDupHandle,
0,
TRUE,
DUPLICATE_SAME_ACCESS
);
К сожалению, я не могу быть на 100% уверен в этой ошибке, потому что многопоточная отладка сложна.Спасибо.