Я реализую драйвер TTY, который используется для порождения оболочки. Внутри модуля я использую kfifo для хранения письменных символов. Мой модуль иногда не удаляет из очереди символы достаточно быстро, тогда моя функция write_room
вернет 0. В этот момент оболочка, запущенная на моем TTY, либо перестает писать символы, либо ведет себя странным образом, например, выводит странные символы.
Находясь в системном вызове, затем прерывая контекст в обработчике write
, я полагаю, что я не смог бы добавить немного сна или задержки там.
Как обычно обращаться с драйвером TTY в обработчике write
, когда снятие очереди недостаточно быстрое?