Mercurial > hg > nginx
changeset 6821:30b6f1ff192b
Perl: removed special environment handling for the perl module.
In Perl 5.8.6 the default was switched to use putenv() when used as
embedded library unless "PL_use_safe_putenv = 0" is explicitly used
in the code. Therefore, for modern versions of Perl it is no longer
necessary to restore previous environment when calling perl_destruct().
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Wed, 07 Dec 2016 19:03:26 +0300 |
parents | eada22643e8b |
children | c045b4926b2c |
files | auto/lib/perl/conf src/core/ngx_cycle.c |
diffstat | 2 files changed, 4 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/auto/lib/perl/conf Wed Dec 07 19:03:19 2016 +0300 +++ b/auto/lib/perl/conf Wed Dec 07 19:03:26 2016 +0300 @@ -12,9 +12,9 @@ if test -n "$NGX_PERL_VER"; then echo " + perl version: $NGX_PERL_VER" - if [ "`$NGX_PERL -e 'use 5.006001; print "OK"'`" != "OK" ]; then + if [ "`$NGX_PERL -e 'use 5.008006; print "OK"'`" != "OK" ]; then echo - echo "$0: error: perl 5.6.1 or higher is required" + echo "$0: error: perl 5.8.6 or higher is required" echo exit 1; @@ -76,7 +76,7 @@ else echo - echo "$0: error: perl 5.6.1 or higher is required" + echo "$0: error: perl 5.8.6 or higher is required" echo exit 1;
--- a/src/core/ngx_cycle.c Wed Dec 07 19:03:19 2016 +0300 +++ b/src/core/ngx_cycle.c Wed Dec 07 19:03:26 2016 +0300 @@ -37,7 +37,7 @@ ngx_init_cycle(ngx_cycle_t *old_cycle) { void *rv; - char **senv, **env; + char **senv; ngx_uint_t i, n; ngx_log_t *log; ngx_time_t *tp; @@ -750,20 +750,9 @@ if (ngx_process == NGX_PROCESS_MASTER || ngx_is_init_cycle(old_cycle)) { - /* - * perl_destruct() frees environ, if it is not the same as it was at - * perl_construct() time, therefore we save the previous cycle - * environment before ngx_conf_parse() where it will be changed. - */ - - env = environ; - environ = senv; - ngx_destroy_pool(old_cycle->pool); cycle->old_cycle = NULL; - environ = env; - return cycle; }