[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: QextSerialPort и потоки



Tigar пишет:
Здравствуйте!
Передо мной стоит почти такая же задача. Опыта программирования у меня
нет, вот пытаюсь разобраться как делать. Я хочу в цикле отрашивать
открытые com порты через select(system call). Если что-то пришло, то
прочитать и снова в цикл. Ожидание чтения с порта хочу побороть
установкой флага FNDELAY на на открытый дескриптор порта:
(fcntl(fd, F_SETFL, FNDELAY))... У вас используются треды, вот я и думаю, будет ли работать мой
вариант без тредов и не будет ли он тормозить сичтему?
Похоже, что надо применять неблокирующее открытие (тогда read возвращается сразу, не ожидая принятых данных), читать принятые байты поштучно и складывать в свой буфер. Это может работать и без тредов, но насчёт торможения неуверен, делал это в консольной программе. А вариант с тредами и чтением всего пакета, как здесь, пока нормально работает только под оффтопиком, для Линукса решения сам ещё не нашёл.



Reply to: