summaryrefslogtreecommitdiff
path: root/sapi
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-08-28 16:43:22 +0200
committerNikita Popov <nikita.ppv@gmail.com>2020-08-28 16:50:07 +0200
commit2c15c9ce80b0c8779a3d5cc5ad1c3452e620d084 (patch)
tree0fbbf25329c9ac7ce978efd0cfebb26de14403e2 /sapi
parent138f14160569a52ffedfb789d0a8162741ec87b3 (diff)
downloadphp-git-2c15c9ce80b0c8779a3d5cc5ad1c3452e620d084.tar.gz
Rehash function table after disabling functions
To perform fast shutdown without full table cleanup we need all internal functions to be in one continuous chunk. This was violated when functions were deleted via disable_functions. This drops the zend_disable_function() API in favor of zend_disable_functions(), which disables the given list of functions and performs the necessary rehash afterwards. Also drop PG(disabled_functions), which is no longer used.
Diffstat (limited to 'sapi')
-rw-r--r--sapi/fpm/fpm/fpm_php.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/sapi/fpm/fpm/fpm_php.c b/sapi/fpm/fpm/fpm_php.c
index 18d5dae086..96648f4437 100644
--- a/sapi/fpm/fpm/fpm_php.c
+++ b/sapi/fpm/fpm/fpm_php.c
@@ -96,9 +96,7 @@ int fpm_php_apply_defines_ex(struct key_value_s *kv, int mode) /* {{{ */
}
if (!strcmp(name, "disable_functions") && *value) {
- char *v = strdup(value);
- PG(disable_functions) = v;
- fpm_php_disable(v, zend_disable_function);
+ zend_disable_functions(value);
return 1;
}