![]() |
|
Модераторы: xvr |
![]()
|
|
| Frostya |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 9.5.2009 Где: Russia, Saint-Pet ersburg Репутация: нет Всего: нет |
Доброго времени суток всем!
Передо мной стоит вот такая задачка: Родительский процесс создаёт программный канал (неименованный) и затем ветвится дважды. Родительский процесс пишет в канал 10 символов. Если это сообщение для 1-го потомка, то ему (1-му) посылается сигнал SIGUSR1, если это сообщение для 2-го потомка, то 2-му посылается сигнал SIGUSR2. По получении сигнала, потомок читает из канала 10 символов и выводит на экран. Родитель выбирает одного из потомков случайным образом, осуществляет запись и засыпает на 3 секунды, затем всё повторяется. Вот что я накатал на данный момент:
Как читать из канала и записывать в него - я знаю.. Только вот не совсем понимаю, в какой конструкции в программе мне это писать (чтение из канала для каждого из потомков). В самих обработчиках сигналов или в местах выполнения дочерних процессов? Почему-то, когда я посылаю сигналы из родительского процесса, программа не входит в обработчики и ничего даже не печатает на экран. Представленный выше код - это незавершенная программа. Так сказать, наброски (: |
|||
|
||||
| MAKCim |
|
||||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
может, потому что надо написать код, который будет выполняться в дочерних процессах?
я бы вообще не определял обработчики, а использовал sigwait
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||||
|
|||||||
| Frostya |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 9.5.2009 Где: Russia, Saint-Pet ersburg Репутация: нет Всего: нет |
MAKCim, спасибо огромное!
Подправил немного ваш код, добавил своего и программа готова!
|
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |