|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Valentin Nechayev 2:5020/400 08 Dec 2004 18:32:24 To : Anatoly Mashanov Subject : Re: libthr & current -------------------------------------------------------------------------------- >>> Anatoly Mashanov wrote: SO>> Возможность соорудить неубиваемый процесс -- очень ценная возможность. SO>> Для вирусов и троянов :) AM> Может, я идиот, но, насколько я понимаю, неубиваемый процесс можно создать AM> единственным образом: он должен находиться в ядерной фазе, не содержащей AM> корректных обработчиков. При libthr это уже не так. К сожалению. Механизм Вы легко можете себе представить. Если многонитевый процесс получает сигнал, в этом случае: - в общих параметрах процесса ставится флаг "процесс в состоянии убивания". Этот флаг должен отрабатываться при всех активациях нитей этоно процесса: вместо активации они завершаются. - если нити исполняются сейчас, по возможности посылается прерывание (это в стандартной схеме возможно только для других процессоров, тогда средствами аппаратной поддержки SMP посылается межпроцессорное прерывание). - по завершению всех нитей процесса, код должен завершить процесс традиционным образом (деструкция рабочих областей). Вот что-то во всём этом механизме в случае сисколлов thr_*() сломано. -netch- --- ifmail v.2.15dev5.3 * Origin: Dark side of coredump (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/223836152ed2b.html, оценка из 5, голосов 10
|