Tue, Apr 06, 2004 at 10:17:13, rad wrote about "[uanog] Re: Interrupted system call":
Зависит от остальных частей кода. Например прилетевший ALARM, влолне повод для "Interrupted system call", и попытку чтения из pipe/socket-а имеет смысл повторить (правда, вопрос еще в том что будет с буфером у fgets-а, если оно уже часть строки достало себе в буфер - а потом случился EINTR... но эту проблему можно обойти если fgets-ом не пользоваться ;) По-моему, для него обещано выдавать ту часть строки, что он успел получить.
Чем же можно заменить в данном случае fgets()? Написать чего-нибудь самому на низком уровне? Или через fgetc()? В мане ясно сказано, что смешивать read() && fgetX() не стоит.
Наверно, таки цикл getc(), или можешь повторить fgets() на остатке буфера. -netch- =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message