читать (2) на Tun FD вернул ноль - PullRequest
0 голосов
/ 23 ноября 2018

В моем приложении был создан интерфейс Tun, и процесс продолжает читать связанный fd с read (2) в цикле select (2).Но когда я отлаживал проблему в приложении, я обнаружил, что в некоторые моменты операция read (2) в дескрипторе файла Tun может возвращать ноль.Возможно ли это и в каком состоянии это может произойти?

Заранее спасибо.древесный

1 Ответ

0 голосов
/ 23 ноября 2018

Вот информация из справочной страницы о прочтении (2) , нажмите здесь

Возвращаемое значение

В случае успехавозвращается число прочитанных байтов ( ноль указывает конец файла ), и позиция файла увеличивается на это число.Не является ошибкой, если это число меньше числа запрошенных байтов;это может произойти, например, потому что на самом деле сейчас доступно меньше байтов (может быть, потому что мы были близки к концу файла, или потому что мы читаем из канала, или из терминала), или потому что read () была прерванасигнал.В случае ошибки возвращается -1 и значение errno устанавливается соответствующим образом.В этом случае не указывается, изменяется ли позиция файла (если есть).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...