The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Pipes & Forks Для Чайников"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Pipes & Forks Для Чайников" 
Сообщение от Василий Свиридов emailИскать по авторуВ закладки on 02-Фев-05, 22:45  (MSK)
Изучаею c/c++ программирование под Linux.
Такой вопрос.

Предок форкается 2 раза. Предок читает с клавиатуры посимвольно. Прочитанное передаётся через pipe1 в child1. child1 производит некоторую манипуляцию над прочитанным и передаёт через pipe2 в child2. child2 читает из pipe2 и выводит на экран.

По идее всё просто. Но такая проблема while(true) loop в child 2 сидит на инструкции read(pipe2[... и тормозит.
Если делать fnctl(pipe2[0],n_delay) то тогда вторая инструкция этого loop'а (а именно cout << прочитанное) начинает выводить его не единожды, а пока kill не сделаешь...

как это можно починить??

http://helium.exceede.com:8890/main.cc <- линк на source

спасибо

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Pipes & Forks Для Чайников" 
Сообщение от Василий Свиридов emailИскать по авторуВ закладки on 02-Фев-05, 22:47  (MSK)
Пардон, не 8890, а 9980.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Pipes & Forks Для Чайников" 
Сообщение от Xenu emailИскать по авторуВ закладки on 02-Фев-05, 22:55  (MSK)
> Но такая проблема while(true) loop в child 2
>сидит на инструкции read(pipe2[... и тормозит.
>Если делать fnctl(pipe2[0],n_delay) то тогда вторая инструкция этого loop'а (а именно cout
><< прочитанное) начинает выводить его не единожды, а пока kill не
>сделаешь...
>
>как это можно починить??

может быть
$ man select

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Pipes & Forks Для Чайников" 
Сообщение от chip emailИскать по авторуВ закладки(ok) on 03-Фев-05, 14:04  (MSK)
>как это можно починить??

1. man 2 select
2. man 2 fcntl /O_NONBLOCK

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Pipes & Forks Для Чайников" 
Сообщение от Василий Свиридов emailИскать по авторуВ закладки on 04-Фев-05, 03:06  (MSK)
Всем спасибо, всё заработало.


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру