![]() |
|
Модераторы: xvr |
![]()
|
|
| andrew100500 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 19.5.2012 Репутация: нет Всего: нет |
Нашел решение данной задачи на хабре http://habrahabr.ru/post/122823/, однако не могу понять зачем перед форком выполняется блокировка сигналов, точнее непонятно когда именно 1 из процессов не готов принять сигнал(все обработчики всех сигналов для предка установлены до форка, а сам предок не пошлет сигнал ребенку, пока ребенок не пошлет сигнал предку)
З.Ы. Спрашиваю здесь а не на хабре ибо на хабре readonly акк. Заранее спс за ответы. |
|||
|
||||
| rsm |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 999 Регистрация: 16.3.2005 Репутация: 3 Всего: 62 |
Собственно там написано вполне ясно - сигналы блокируются чтобы избежать гонки. Если не запретить сигналы до fork(), то первые несколько бит могут успеть уйти в родительский процесс ещё до того, как он будет готов их принять. В целом, приведённый в статье пример написан совершенно безграмотно и будет работать как ожидается только в идеальных условиях. Поэтому не стоит удивляться, если оно будет давать странные результаты.
|
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под 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. |