[devel] q: installer: Killing all remaining processes (forever)

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Вт Апр 15 15:21:23 MSD 2008


On Tue, Apr 15, 2008 at 11:42:36AM +0400, Stanislav Ievlev wrote:
> On Tue, Apr 15, 2008 at 02:13:14AM +0400, Evgeny Sinelnikov wrote:
> > 2008/4/14 Stanislav Ievlev <inger на altlinux.org>:
> > > On Mon, Apr 14, 2008 at 04:00:38AM +0400, Evgeny Sinelnikov wrote:
> > >  > >  Что касается финального loop_change_fd, то сдаётся мне в свете
> > >  > >  накопившегося опыта стоит попробовать следующее:
> > >  > >  * copy+reexec init'a с tmpfs (тогда точно не будет никаких зависаний ибо
> > >  > >  файл процесса уже будет вне опасности)
> > >  > >  * по окончании работы pivot_root в tmpfs (откуда был запущен) далее kill и umount.
> > >  > >  После второй операции возможно и повторный loop_change_fd не пригодится.
> > >  > >
> > >  > >  Мы один раз уже пробовали эту схему, но тогда видать не дотумкали насчёт
> > >  > >  ожидания убиения процессов, увидели что не получается отмонтирование и
> > >  > >  отказались от неё. Стоит попробовать ещё разок.
> > >  >
> > >  > Да, это интересная идея... Завтра проверю...
> > >  А я тогда подожду результатов ;)
> > >  зависание видимо было из-за того что несмотря на статичность файла init,
> > >  он был загружен при помощи mmap и не вся его часть попала с loop в память.
> > 
> > Что-то оно сегодня не всё успелось... я собрал, но не опробовал
> > вариант первичного перенесения init в tmpfs. По итоге стало ясно, что
> > вариант переносить init по завершении работы выглядит разумнее...
> А по мне так проще в начале, чтобы код менее
> ветвистым был.
> Так при повторном запуске половину программы придётся пропускать, а иначе только один вызов функции.

А я бы сделал reexec после killall.

> Кстати вариант с SIGCHILD стал заметно дольше ожидать киляния
> процессов ... устанавливал только один раз, ожидание было порядка трёх
> секунд, по началу даже подумал что опять зависло. 

Там sleep(1)

> Или надо это ускорять или делать рисование точек интенсивнее.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20080415/ffb2a819/attachment.bin>


Подробная информация о списке рассылки Devel