Mercurial > hg > nginx
changeset 1349:50bdde056629 stable-0.5
r1258, r1259 merge:
set worker's perl $$
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Sun, 29 Jul 2007 17:31:00 +0000 |
parents | fe5c88df87f5 |
children | 3c7c88b7edf8 |
files | src/http/modules/perl/ngx_http_perl_module.c |
diffstat | 1 files changed, 23 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/http/modules/perl/ngx_http_perl_module.c Sun Jul 29 17:29:06 2007 +0000 +++ b/src/http/modules/perl/ngx_http_perl_module.c Sun Jul 29 17:31:00 2007 +0000 @@ -67,6 +67,7 @@ static void ngx_http_perl_cleanup_perl(void *data); #endif +static ngx_int_t ngx_http_perl_init_worker(ngx_cycle_t *cycle); static void ngx_http_perl_exit(ngx_cycle_t *cycle); @@ -126,7 +127,7 @@ NGX_HTTP_MODULE, /* module type */ NULL, /* init master */ NULL, /* init module */ - NULL, /* init process */ + ngx_http_perl_init_worker, /* init process */ NULL, /* init thread */ NULL, /* exit thread */ NULL, /* exit process */ @@ -1004,6 +1005,27 @@ } +static ngx_int_t +ngx_http_perl_init_worker(ngx_cycle_t *cycle) +{ + ngx_http_perl_main_conf_t *pmcf; + + pmcf = ngx_http_cycle_get_module_main_conf(cycle, ngx_http_perl_module); + + { + + dTHXa(pmcf->perl); + PERL_SET_CONTEXT(pmcf->perl); + + /* set worker's $$ */ + + sv_setiv(GvSV(gv_fetchpv("$", TRUE, SVt_PV)), (I32) ngx_pid); + + } + + return NGX_OK; +} + static void ngx_http_perl_exit(ngx_cycle_t *cycle) {