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.