В случае сильно тормозного устройства tty, что имеет смысл возвращать, если программа пытается отправить новые данные до того, как реально отправятся старые?
-EBUSY приводит к сообщениям об ошибке (устройство занято), что логично. -EAGAIN вроде то, что надо, но хотелось бы, чтобы не так часто пыталось повторить.
Что вообще лучше делать в такой ситуации?
PS: к чему все это: я делаю драйвер виртуального tty для того, чтобы можно было перенаправить записываемые программами в tty данные туда, куда мне надо. При этом данные, пока их не заберет специально обученный демон, хранятся в буфере, а чтобы этот буфер не съел всю память, если демон тормозит, а программа пишет и пишет, его размер лимитирован. Но тогда надо что-то возвращать, если буфер забился, чтобы программа подождала.