Есть поток, в нем делаю следующее:
hEventExit = CreateEvent(...);
hThread = CreateThread(...);
В созданном потоке цикл:
while(WAIT_OBJECT_0 != WaitForSingleObject(hEventExit,...)) {
...
}
Далее, в основном потоке, когда необходимо порожденный завершить, делаю следующее:
SetEvent(hEventExit,...);
WaitForSingleObject(hThread,...);
Все это замечательно работает. Но вот потребовалось использовать Waitable-таймеры, поэтому пришлось вместо WaitForSingleObject() использовать WaitForSingleObjectEx()
А в этом случае вызов этой функции завершается сразу со значением WAIT_IO_COMPLETION, т.е. она не дожидается завершения потока. Как быть?