![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
svlary |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 8.9.2009 Репутация: 4 Всего: 4 |
Есть программная система, состоящая из множества процессов. Процессы взаимодействуют, отсылая сообщения друг другу через именованые каналы. Надо обеспечить ее максимальную живучесть. Для этого обрабатываются сигналы SIGCHILD и SIGPIPE.
С первым - все ясно. В параметре siginfo обработчика сигнала передается pid умершего процесса. Дальше - нужно его просто перезапустить и все. А вот что писать в обработчике сигнала SIGPIPE ? Как определить - какой именно пайп оборвался ? |
|||
|
||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
SA_SIGINFO указали?
-------------------- |
|||
|
||||
svlary |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 8.9.2009 Репутация: 4 Всего: 4 |
||||
|
||||
tzirechnoy |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: 3 Всего: 16 |
Ну, возможно, конечно, что si_fd будет заполнено... Но зачем? write() вернёт EPIPE, что ещё нужно?
|
|||
|
||||
svlary |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 8.9.2009 Репутация: 4 Всего: 4 |
Да, похоже, что это - самый простой путь ! |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |