On Wed, 17 Nov 2004, Aleksey I Zavilohin wrote:
> > Кстати, а с rt_sig потоки работают ? В 2.4 оно не работало принципиально.
>
> ну запуститься запустилось на тестовой машинке с параметром use rtsig;
> index.hmtl отдал - больше пока не могу - кстати вывод ps axl -
> аналогичный - т е мастер процесс на rt_sig висит
Если мне не изменяет память, нужно чего-то попроксировать - там это
сразу видно.
> > > кстати вопрос сейчас обратил внимание - что по ps axl висит на rt_sig
> > > т е получается что epoll не юзает вообще?
> > >
> > > F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME
> > > COMMAND
> > > 0 21963 1 16 0 2128 876 rt_sig Ss ? 0:00 nginx:
> > > master process /usr/sbin/nginx
> > > 5 33 21964 21963 15 0 13652 1404 - S ? 0:07
> > > nginx: worker process
> > > 5 33 21968 21963 15 0 12552 1108 - S ? 0:00
> > > nginx: worker process
> > > 5 33 21970 21963 15 0 12552 1108 - S ? 0:00
> > > nginx: worker process
> > > 5 33 21971 21963 15 0 12552 1108 - S ? 0:00
> > > nginx: worker process
> > > 5 33 21983 21963 15 0 12552 1108 - S ? 0:00
> > > nginx: worker process
> >
> > Нет - rt_sig... только в мастер процессе, оно обычно проводит время
> > в sigsuspend().
>
> т е epoll не юзается? или он юзается, но в детях, а в мастер процессе
> юзается rt_sig.
epoll используется, но в детях. Основной процесс вообще участия в обслуживании
клиентов не принимает. А состояние rt_sig... в главном процессе - это
так Линукс показывает sigsuspend(). Во FreeBSD это состояние pause.
И оно не зависит от используемого метода.
Игорь Сысоев
http://sysoev.ru