On Tue, Apr 06, 2004 at 11:46:26AM +0300, Valentin Nechayev wrote:
Зависит от остальных частей кода. Например прилетевший ALARM, влолне повод для "Interrupted system call", и попытку чтения из pipe/socket-а имеет смысл повторить (правда, вопрос еще в том что будет с буфером у fgets-а, если оно уже часть строки достало себе в буфер - а потом случился EINTR... но эту проблему можно обойти если fgets-ом не пользоваться ;) По-моему, для него обещано выдавать ту часть строки, что он успел получить.
Чем же можно заменить в данном случае fgets()? Написать чего-нибудь самому на низком уровне? Или через fgetc()? В мане ясно сказано, что смешивать read() && fgetX() не стоит.
Наверно, таки цикл getc(), или можешь повторить fgets() на остатке буфера.
Повтор fgets() в большинстве случаев спасает. Остальное не столь критично. Так что теперь буду в спокойном режиме изучать логи и работать над исправлением ошибок. Всем большое СПАСИБО! :) -- Alex Radetsky AR2657-RIPE RAD-UANIC =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message