Уважаемые, обращаюсь к Вам за советом. 1) select/poll Есть директория (к примеру dir), в которую асинхронно пользователем сваливаются файлы, а программа должна отслеживать изменения в структуре каталога и узнавать имена вновь прибывших файлов. Естественно, что нам необходим или select или poll. Вопрос в том как правильно написать этот код. Моя попытка: int d, fd; struct pollfd cdp[1]; d = open(dir, O_RDONLY, S_IRUSR); cdp[0].fd = d; cdp[0].events = POLLRDNORM; while(1) { fd = poll(cdp, 1, -1); if (fd == -1 || (cdp[0].revents & (POLLERR|POLLHUP|POLLNVAL))) { /* ERROR */ } else if (fd == 0) { /* ERROR */ } else { if (read(d, buf, sizeof(buf)) == -1) { /* ERROR */ } else { /* в buf хочу получить имя файла (ну или структурку какую) */ } } Дык вот этот код как умолишенный начинает работать. В buf пишется один символ (^F). Это вероятно ошибка. Как нужно переделать? 2) fdopen и open Вопрос второй. open умеет разделять права доступа к файлу на owner, owner group и other. fdopen не умеет. Как с помощь fdopen получить FILE* на открытый дескриптор: fd = open(file, O_CREAT | O_EXCL, S_IRWXU); ? fdopen(fd, "w") не работает (возвращает 0x0 (NULL)).

Ответ на:
комментарий
от idle

Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от idle


Ответ на:
комментарий
от cvv

Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от anonymous

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [C] poll () Как замаскировать POLLHUP (2008)
- Форум Неустоичивая работа сокетов в O_NONBLOCK режиме (2004)
- Форум Не блокируется pid-файл (2014)
- Форум poll() или select() ? (2002)
- Форум bash - poll, select (2007)
- Форум poll/select: приоритет write > read? (2002)
- Форум что лучше poll select kqueue (2004)
- Форум select/poll and one write buffer (2015)
- Форум Sysfs - poll, inotify, select... Крик души (2014)
- Форум poll/select на X-овые события?? (2002)