Re: встроенный perl работает в master или в worker?

Igor Sysoev igor на sysoev.ru
Сб Май 8 15:44:02 MSD 2010


On Sat, May 08, 2010 at 02:14:43AM +0400, cronfy wrote:

> >> Известно, что встроенный перл работает от root. У меня на этом перле
> >
> > Кому известно ?
> > Обработчики перла работают в воркерах.
> > Чтение перловых модулей и компиляция - в мастере.
> 
> Игорь, спасибо за ответ. Смутило то, что $> и $< показывают 0, а if
> (-r filename) {} (в перловом методе) говорит, что может прочитать
> любой файл. Видимо, у перла в этом месте какая-нибудь хитрая
> оптимизация.

Да, перл запоминает. И nginx для воркеров переставляет $$:
sv_setiv(GvSV(gv_fetchpv("$", TRUE, SVt_PV)), (I32) ngx_pid);

Но для $< и $> так не получилось:

sv_setiv(GvSV(gv_fetchpv("<", TRUE, SVt_PV)), (I32) getuid());
sv_setiv(GvSV(gv_fetchpv(">", TRUE, SVt_PV)), (I32) geteuid());


-- 
Игорь Сысоев
http://sysoev.ru



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