Hi! On Tue, Apr 06, 2004 at 09:54 +0300, Alex Radetsky wrote:
exec_pointer = fgets(exec_buf,255,pinput); if (exec_pointer == NULL) { radlog(L_ERR,"POPEN: fgets() returns NULL: errno = %s\n",strerror(errno)); pclose(pinput); return (NULL);
Что он делает, я думаю, всем понятно.
Но тут возникает ситуация, когда fgets возвращает таки NULL и strerror(errno) отдает "Interrupted system call".
Это у меня внешний скрипт в кору падает или я что-то не так делаю?
Зависит от остальных частей кода. Например прилетевший ALARM, влолне повод для "Interrupted system call", и попытку чтения из pipe/socket-а имеет смысл повторить (правда, вопрос еще в том что будет с буфером у fgets-а, если оно уже часть строки достало себе в буфер - а потом случился EINTR... но эту проблему можно обойти если fgets-ом не пользоваться ;) =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message