Цитата(khach @ Dec 27 2005, 14:07)

Проблема с передергиванием ФТДИшек существует. Давайте решать вместе.
Т.к зависает приложение, то позволю спросить- как у вас происходит общение с ком-портом:
пуллинг или евенты? Исполь зуеться ли отдельный поток для приема из порта? Вываливаетесь ли по таймауту или остаетесь в вечном цикле? Чему равен дескриптор (хендл) порта после "вываливания"?
Мы используем CPort3 by Dejan Crnila. Валиться одинаково хорошо как с FTDI, так и с Prolific.
Интересно вообще, как с точки зрения программы корректно обрабатывать состояние "потери" порта?
С терминалами проще- они обычно непрерывно "пулят" состояние порта, забирая все байты, что окажутся во входном буффере. Попутно обрабатывая все ошибки. Если же обмен идет по событиям ( например прием пакета с ожиданиме символа 00 или CR как признака конца пакета) то возврата по таймауту непроисходит. Похоже, что хендл после отваливания порта становиться равен -1 и каллбек евента никогда невызываеться.
Проблемы у Вас в криво написанной библиотеке для работы с комами. Драйвера и ОС тут не причем. Если либу не можете написать сами - юзайте for ex. от мохи или commoncpp - в частности перед aRead без суеты вызываем isPending(pendingError) и будет Вам счастье ...