Вопрос № 92601: Возможно-ли прервать выполнение функций или процедур, вызываемых из dll, если время их работы превышает заданное и как это оформить в коде?
Например, при вызове функции recvfrom из WS2_32.DLL, она выполняется неопределённо долго и моё прилож...
Вопрос № 92.601
Возможно-ли прервать выполнение функций или процедур, вызываемых из dll, если время их работы превышает заданное и как это оформить в коде?
Например, при вызове функции recvfrom из WS2_32.DLL, она выполняется неопределённо долго и моё приложение как-бы подвисает.
Отправлен: 23.06.2007, 15:09
Вопрос задал: Gladiator (статус: 9-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: PGM
Здравствуйте, Gladiator!
Попробуйте вызывать функцию в потоке - его можно прервать - используя ожидание завершения (WaitForSingleObject) с таймаутом.
А вообще в случае с сокетами может стоит использовать асинхронные функции? Они для того и созданы чтобы приложение не "подвисало".
Ответ отправил: PGM (статус: 8-ой класс)
Ответ отправлен: 23.06.2007, 15:19