ConnectNamedPipe разблокировать поток
Здравствуйте. Пишу класс, создающий серверный экземпляр именованного канала. Работа осуществляется в синхронном режиме.
При вызове метода Free
мне необходимо, чтобы поток, в котором читается пайп, корректно завершался. Но проблема в том, что ConnectNamedPipe
блокирует дальнейшее выполнение, если нет клиента.
Есть функция CancelSynchronousIo
, но, как я понимаю, она отсутствует в ОС ниже Vista, а создавать в другом потоке клиент или TerminateThread - это совсем неправильно.
Как можно разблокировать поток?
Источник: Stack Overflow на русском