RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> > Суть проблемы (цитата из исьма разработчика DrWeb): > > --- > > Наткнулся на еще более занимательный баг - процесс делает форк и > > ребенок отрабавает быстрее родителя, и родитель получает SIGCHLD еще > > до выхода из форка (и до заполнения pid-а ребенка для ожидания), > > обработчик сигнала ничего не делает (т.к. pid-а еще не знает) и > > выходит и ... тут же получает SIGCHLD снова. И все демон вечно > > обрабатывает сигнал (т.е. жив и загрузка на 100%). Вот это диверсия, > > так диверсия. :( > > --- > > Кто знает отгадку - отзовитесь плиз!!! > есть версия, что так emx эмулирует форк. т.е. для создания копии процесса ему надо родить нечто вспомогательное, которое в свою очередь пускает копию процесса. > Т.е. воркэраунд - либо пропускать один SIGCHLD, либо ставить семафоры "ушла на базу" / "пришла с базы"
__, _,_ __, _,_ _,
|_) | | | \ | / /_\
| \ | | |_/ |/ | |
~ ~ `~' ~ ~ ~ ~
Programmed by
Dmitri Maximovich
,
Dmitry I. Platonoff
,
Eugen Kuleshov
.
25.09.99 (c) 1999,
RU/2
. All rights reserved.
Rewritten by
Dmitry Ban
. All rights ignored.