]> git.kaiwu.me - nginx.git/commitdiff
set worker's perl $$
authorIgor Sysoev <igor@sysoev.ru>
Fri, 15 Jun 2007 12:20:23 +0000 (12:20 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Fri, 15 Jun 2007 12:20:23 +0000 (12:20 +0000)
src/http/modules/perl/ngx_http_perl_module.c

index b8352f05608c07545a70bb00f03519c9e9bd2857..6e4c42787e58b08260c79e17e4cec8168235f3e3 100644 (file)
@@ -67,6 +67,7 @@ static char *ngx_http_perl_set(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
 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_module_t  ngx_http_perl_module = {
     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,16 @@ ngx_http_perl_set(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
 }
 
 
+static ngx_int_t
+ngx_http_perl_init_worker(ngx_cycle_t *cycle)
+{
+    /* 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)
 {