diff options
author | Xinchen Hui <laruence@php.net> | 2012-05-03 22:39:53 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@php.net> | 2012-05-03 22:39:53 +0800 |
commit | 72f19e9a8bcf5712b24fa333a26616eff19ac1ce (patch) | |
tree | 3d1bdd5674431cd62c583bda232b73274e7d85d9 /Zend/zend.c | |
parent | d74d88fbb9c29b1dd5ff05a54b72cf7c9250955c (diff) | |
download | php-git-72f19e9a8bcf5712b24fa333a26616eff19ac1ce.tar.gz |
Fixed bug #61922 (ZTS build doesn't accept zend.script_encoding config)
Diffstat (limited to 'Zend/zend.c')
-rw-r--r-- | Zend/zend.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Zend/zend.c b/Zend/zend.c index dd299f1d87..37a1a27c7d 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -781,6 +781,8 @@ void zend_register_standard_ini_entries(TSRMLS_D) /* {{{ */ void zend_post_startup(TSRMLS_D) /* {{{ */ { #ifdef ZTS + zend_encoding **script_encoding_list; + zend_compiler_globals *compiler_globals = ts_resource(compiler_globals_id); zend_executor_globals *executor_globals = ts_resource(executor_globals_id); @@ -795,7 +797,12 @@ void zend_post_startup(TSRMLS_D) /* {{{ */ zend_destroy_rsrc_list(&EG(persistent_list) TSRMLS_CC); free(compiler_globals->function_table); free(compiler_globals->class_table); - compiler_globals_ctor(compiler_globals, tsrm_ls); + if ((script_encoding_list = (zend_encoding **)compiler_globals->script_encoding_list)) { + compiler_globals_ctor(compiler_globals, tsrm_ls); + compiler_globals->script_encoding_list = (const zend_encoding **)script_encoding_list; + } else { + compiler_globals_ctor(compiler_globals, tsrm_ls); + } free(EG(zend_constants)); executor_globals_ctor(executor_globals, tsrm_ls); global_persistent_list = &EG(persistent_list); |