Собсна, я кое-что из этого читал, и установка
Код
newtio.c_cc[VMIN]
для меня не нова.
Но мне хотелось бы обрабатывать входящие данные на лету, а стирать - после окончания пакета.
Я сделал, чтобы функция read вообще не тормозила программу, и по каждому read()>0 - перезаписываю в свой буфер и обрабатываю. А вот сброс буфера - хотелось бы иметь после того, как прошло какое-то время тишины.
Конечно, по VMIN - можно выходить из read() после 100 мс. тишины, но мне хотелось бы, чтобы программа не теряла лишнего времени, а обрабатывалась на лету.
По одной из ссылок я увидел метод с использованием сигнала SIGIO. Но насколько я понял - мне это тоже не поможет.