RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Нужна помощь в портировании DrWeb Daemon for OS/2


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : Papa Karlы
To : Alexander Lapshin
Subj : Нужна помощь в портировании DrWeb Daemon for OS/2

> Суть проблемы (цитата из исьма разработчика DrWeb):
> ---
> Наткнулся на еще более занимательный баг - процесс делает форк и
> ребенок отрабавает быстрее родителя, и родитель получает SIGCHLD еще
> до выхода из форка (и до заполнения pid-а ребенка для ожидания),
> обработчик сигнала ничего не делает (т.к. pid-а еще не знает) и
> выходит и ... тут же получает SIGCHLD снова. И все демон вечно
> обрабатывает сигнал (т.е. жив и загрузка на 100%). Вот это диверсия,
> так диверсия. :(
> ---
> Кто знает отгадку - отзовитесь плиз!!!
есть версия, что так emx эмулирует форк. т.е. для создания копии процесса ему надо родить нечто вспомогательное, которое в свою очередь пускает копию процесса.
Т.е. воркэраунд - либо пропускать один SIGCHLD, либо ставить семафоры "ушла на базу" / "пришла с базы"

Wed 03 Dec 2003 17:51 Mozilla/5.0 (OS/2; U; Warp 4.5; ru-RU; rv:1.4) Gecko/2003062




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.