Вобщем у меня такая загвоздка - есть приклада которая форкается, и в дочке делается execlp с запуском скрипта из под шелл. Родитель должен записать данные в скрипт( пробовал через pipe и через FIFO ), тот их обрабатывает и возвращает через FIFO. Загвоздка в том что не удается точно определить - есть ли кто с другой стороны трубы. Например, если командная строка неверная, то шелл исполниться, а скрипт нет, соотв. никого по ту сторону трубы не будет. pselect не катит т.к. в случае pipe он нормально срабатывает из-за запуска шелла, а в случае FIFO - нужно либо открывать на запись в неблокируещем режиме и проверять на ENXIO ( опять же бесконечный цикл получается ), либо в блокирующем - и тогда ступор, если неверная команда шелла. Предварительный анализ перед этими манипуляциями через waitpid ( -1, 0, WNOHANG) == 0 не всегда срабатывает, а вводить таймаут - нехорошо ... Вот такая загагулина. Заранее благодарен за дельные советы.
Ответ на:
комментарий
от Oksiv
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум SIGIO and fifo (named pipe) (2006)
- Форум Размер pipe и fifo - есть ли ограничения ? (2004)
- Форум FIFO... (2003)
- Форум FIFO. (2003)
- Форум Сисадминская дочка (2005)
- Форум [bash] pipe (FIFO) non blocking чтение/запись на баше (2011)
- Форум чтение fifo (2006)
- Форум FIFO(2)... (2003)
- Форум FIFO(3)... (2003)
- Форум Pipe (2017)