| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > Пересылка символов по неименованному каналу. |
| Автор: Frostya 23.5.2009, 00:47 | ||
| Доброго времени суток всем! Передо мной стоит вот такая задачка: Родительский процесс создаёт программный канал (неименованный) и затем ветвится дважды. Родительский процесс пишет в канал 10 символов. Если это сообщение для 1-го потомка, то ему (1-му) посылается сигнал SIGUSR1, если это сообщение для 2-го потомка, то 2-му посылается сигнал SIGUSR2. По получении сигнала, потомок читает из канала 10 символов и выводит на экран. Родитель выбирает одного из потомков случайным образом, осуществляет запись и засыпает на 3 секунды, затем всё повторяется. Вот что я накатал на данный момент:
Как читать из канала и записывать в него - я знаю.. Только вот не совсем понимаю, в какой конструкции в программе мне это писать (чтение из канала для каждого из потомков). В самих обработчиках сигналов или в местах выполнения дочерних процессов? Почему-то, когда я посылаю сигналы из родительского процесса, программа не входит в обработчики и ничего даже не печатает на экран. Представленный выше код - это незавершенная программа. Так сказать, наброски (: |
| Автор: Frostya 24.5.2009, 15:58 | ||
| MAKCim, спасибо огромное! Подправил немного ваш код, добавил своего и программа готова!
|