diff src/http/modules/perl/ngx_http_perl_module.c @ 370:9a242235a80a NGINX_0_6_29

nginx 0.6.29 *) Feature: the ngx_google_perftools_module. *) Bugfix: the ngx_http_perl_module could be not built on 64-bit platforms; bug appeared in 0.6.27.
author Igor Sysoev <http://sysoev.ru>
date Tue, 18 Mar 2008 00:00:00 +0300
parents babd3d9efb62
children 984bb0b1399b
line wrap: on
line diff
--- a/src/http/modules/perl/ngx_http_perl_module.c
+++ b/src/http/modules/perl/ngx_http_perl_module.c
@@ -668,7 +668,7 @@ ngx_http_perl_call_handler(pTHX_ ngx_htt
     XPUSHs(sv);
 
     if (args) {
-        EXTEND(sp, (int) args[0]);
+        EXTEND(sp, (intptr_t) args[0]);
 
         for (i = 1; i <= (ngx_uint_t) args[0]; i++) {
             PUSHs(sv_2mortal(args[i]));
@@ -1055,8 +1055,20 @@ ngx_http_perl_init_worker(ngx_cycle_t *c
     return NGX_OK;
 }
 
+
 static void
 ngx_http_perl_exit(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);
+
     PERL_SYS_TERM();
+
+    }
 }