Не получается использовать fdopen на втором сокете полученном от socketpair.. Ошибка - Неверная операция смещения. extern volatile sig_atomic_t terminate; FILE *netstatd() { int fds[2]; FILE *in,*out; int rc; char buffer[512]; rc=socketpair(AF_UNIX,SOCK_STREAM, PF_UNSPEC, fds); if (rc<0) return NULL; in=fdopen(fds[0],"r+"); if (!in) //Тут все отрабатывает нормально { close(fds[0]); close(fds[1]); return NULL; } out=fdopen(fds[1],"r+"); if (!out); // Вот тут ошибка! { syslog(LOG_WARNING,"fdopen %s\n",strerror(errno)); close(fds[1]); close(fds[0]); fclose(in); return NULL; } setvbuf(out,NULL,_IONBF,0); setvbuf(in,NULL,_IONBF,0); rc=fork(); if (rc==-1) { fclose(in); fclose(out); return NULL; } else if (rc!=0) { fclose(out); return in; } //child fclose(in); setproctitle ("netstatd"); while (!feof(out) && !terminate) { if (fgets(buffer,sizeof(buffer),out)) { if (terminate) { syslog(LOG_WARNING,"terminating\n"); break; } syslog(LOG_DEBUG,"%s\n",buffer); } } _exit(0); }
Ответ на:
комментарий
от rymis
Ответ на:
комментарий
от OxiD
Ответ на:
комментарий
от Eshkin_kot
Ответ на:
комментарий
от OxiD
Ответ на:
комментарий
от OxiD
Ответ на:
комментарий
от OxiD
Ответ на:
комментарий
от php-coder
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Си /*ошибка сегментирования */ (2009)
- Форум C socket fdopen вечный/долгий fgets при запросе с chrome android (2020)
- Форум [pipe] ftp не хочет общатся через два пайпа (2009)
- Форум Ошибка при компиляции (2015)
- Форум немогу запустить Xvfb через fork + execl (2021)
- Форум [C][FIFO] Чатик, не ходят данные (2011)
- Форум создание дочерних процессов_ (2010)
- Форум pthreads help (2004)
- Форум Работа с сокетами в C (2010)
- Форум Да помогите вы мне с этим wav-player'oм!!! (2003)