diff options
author | Igor Sysoev <igor@sysoev.ru> | 2009-11-17 10:28:12 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2009-11-17 10:28:12 +0000 |
commit | 889fa8debb8230bd35dfe1f67695a84661ad7daa (patch) | |
tree | 3f67f659f7c326c669d19a36a0b7b0894aa0b31f | |
parent | 69061b73ef0e4fdb1063bff0383098449d313a52 (diff) | |
download | nginx-889fa8debb8230bd35dfe1f67695a84661ad7daa.tar.gz nginx-889fa8debb8230bd35dfe1f67695a84661ad7daa.zip |
use global perl variable in perl_destruct()/perl_free()
for non-mulitiplicity perl
-rw-r--r-- | src/http/modules/perl/ngx_http_perl_module.c | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/src/http/modules/perl/ngx_http_perl_module.c b/src/http/modules/perl/ngx_http_perl_module.c index 642197fd8..eb6407e21 100644 --- a/src/http/modules/perl/ngx_http_perl_module.c +++ b/src/http/modules/perl/ngx_http_perl_module.c @@ -152,12 +152,13 @@ static ngx_http_ssi_command_t ngx_http_perl_ssi_command = { #endif -static ngx_str_t ngx_null_name = ngx_null_string; - -static HV *nginx_stash; +static ngx_str_t ngx_null_name = ngx_null_string; +static HV *nginx_stash; #if (NGX_HAVE_PERL_MULTIPLICITY) -static ngx_uint_t ngx_perl_term; +static ngx_uint_t ngx_perl_term; +#else +static PerlInterpreter *perl; #endif @@ -461,18 +462,16 @@ ngx_http_perl_ssi(ngx_http_request_t *r, ngx_http_ssi_ctx_t *ssi_ctx, static char * ngx_http_perl_init_interpreter(ngx_conf_t *cf, ngx_http_perl_main_conf_t *pmcf) { - ngx_str_t *m; - ngx_uint_t i; + ngx_str_t *m; + ngx_uint_t i; #if (NGX_HAVE_PERL_MULTIPLICITY) - ngx_pool_cleanup_t *cln; + ngx_pool_cleanup_t *cln; cln = ngx_pool_cleanup_add(cf->pool, 0); if (cln == NULL) { return NGX_CONF_ERROR; } -#else - static PerlInterpreter *perl; #endif #ifdef NGX_PERL_MODULES @@ -1067,16 +1066,12 @@ ngx_http_perl_exit(ngx_cycle_t *cycle) ngx_perl_term = 1; #else - ngx_http_perl_main_conf_t *pmcf; - - pmcf = ngx_http_cycle_get_module_main_conf(cycle, ngx_http_perl_module); - - if (pmcf && nginx_stash) { + if (nginx_stash) { ngx_log_debug0(NGX_LOG_DEBUG_HTTP, cycle->log, 0, "perl term"); - (void) perl_destruct(pmcf->perl); + (void) perl_destruct(perl); - perl_free(pmcf->perl); + perl_free(perl); PERL_SYS_TERM(); } |