Очень нужен пример драйвера символьного устройства, реализующего метод «Poll»
Добрый день !
Написал простейший драйвер символьного устройства, который при обращении к нему посредством функции «read()» при наличии данных в устройстве возвращает некоторый символ, а при отсутствии данных - возвращает «ноль» символов. Далее, я написал пользовательскую программу, циклически читающую данные из устройства, которая циклически вызывает функцию «read()». Если эта функция возвращает символ, то он выводится на экран и моя программа завершается, если же при чтении было получено «ноль» символов, то происходит очередной виток цикла, и т.п. Все это проверено и работает.
Вопрос вот в чем. Нужно добавить в драйвер метод «Poll», а в пользовательскую программу - функцию Select(), чтобы исключить ресурсоемкое циклическое чтение из устройства. Проблема в том, что я не могу найти цельного примера подобного драйвера. В третьей редакции книги «Драйверы устройств Linux» приводится только функция, реализующая сам метод «Poll», но если я вставляю ее в свой модуль, то он попросту перестает собираться. Если кто может, поделитесь, пожалуйста, примером такого модуля ...