[prev in list] [next in list] [prev in thread] [next in thread]
List: php-cvs
Subject: [PHP-CVS] [php-src] master: Refacto php_module_startup() (#8303)
From: George Peter Banyard via GitHub <noreply () php ! net>
Date: 2022-04-27 22:11:00
Message-ID: sekCWUVKiUY9xJ5ptxO4cVos4ro1BmOtvTvkT5P6wc () main ! php ! net
[Download RAW message or body]
Author: George Peter Banyard (Girgias)
Committer: GitHub (web-flow)
Pusher: Girgias
Date: 2022-04-27T23:07:11+01:00
Commit: https://github.com/php/php-src/commit/b5db594fd277464104fce814d22f0b2207d6502d
Raw diff: https://github.com/php/php-src/commit/b5db594fd277464104fce814d22f0b2207d6502d.diff
Refacto php_module_startup() (#8303)
It only ever uses at most 1 additional modules
Changed paths:
M main/main.c
M main/php_main.h
M sapi/apache2handler/sapi_apache2.c
M sapi/cgi/cgi_main.c
M sapi/cli/php_cli.c
M sapi/cli/php_cli_server.c
M sapi/embed/php_embed.c
M sapi/fpm/fpm/fpm_main.c
M sapi/fuzzer/fuzzer-sapi.c
M sapi/litespeed/lsapi_main.c
M sapi/phpdbg/phpdbg.c
Diff:
diff --git a/main/main.c b/main/main.c
index dc705fcdbdfe..512a7a8b7f0b 100644
--- a/main/main.c
+++ b/main/main.c
@@ -1960,24 +1960,6 @@ int php_register_extensions(zend_module_entry * const * ptr, \
int count) return SUCCESS;
}
-/* A very long time ago php_module_startup() was refactored in a way
- * which broke calling it with more than one additional module.
- * This alternative to php_register_extensions() works around that
- * by walking the shallower structure.
- *
- * See algo: https://bugs.php.net/bug.php?id=63159
- */
-static int php_register_extensions_bc(zend_module_entry *ptr, int count)
-{
- while (count--) {
- if (zend_register_internal_module(ptr++) == NULL) {
- return FAILURE;
- }
- }
- return SUCCESS;
-}
-/* }}} */
-
#ifdef PHP_WIN32
static _invalid_parameter_handler old_invalid_parameter_handler;
@@ -2012,11 +1994,12 @@ void dummy_invalid_parameter_handler(
#endif
/* {{{ php_module_startup */
-int php_module_startup(sapi_module_struct *sf, zend_module_entry \
*additional_modules, uint32_t num_additional_modules) +zend_result \
php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_module) {
zend_utility_functions zuf;
zend_utility_values zuv;
- int retval = SUCCESS, module_number=0; /* for REGISTER_INI_ENTRIES() */
+ zend_result retval = SUCCESS;
+ int module_number = 0; /* for REGISTER_INI_ENTRIES() */
char *php_os;
zend_module_entry *module;
@@ -2243,7 +2226,9 @@ int php_module_startup(sapi_module_struct *sf, \
zend_module_entry *additional_mod }
/* start additional PHP extensions */
- php_register_extensions_bc(additional_modules, num_additional_modules);
+ if (additional_module && (zend_register_internal_module(additional_module) == \
NULL)) { + return FAILURE;
+ }
/* load and startup extensions compiled as shared objects (aka DLLs)
as requested by php.ini entries
@@ -2278,7 +2263,7 @@ int php_module_startup(sapi_module_struct *sf, \
zend_module_entry *additional_mod module->version = PHP_VERSION;
module->info_func = PHP_MINFO(php_core);
}
-
+
/* freeze the list of observer fcall_init handlers */
zend_observer_post_startup();
diff --git a/main/php_main.h b/main/php_main.h
index 661c88446524..50351da0e639 100644
--- a/main/php_main.h
+++ b/main/php_main.h
@@ -25,7 +25,7 @@
BEGIN_EXTERN_C()
PHPAPI int php_request_startup(void);
PHPAPI void php_request_shutdown(void *dummy);
-PHPAPI int php_module_startup(sapi_module_struct *sf, zend_module_entry \
*additional_modules, uint32_t num_additional_modules); +PHPAPI zend_result \
php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_module); \
PHPAPI void php_module_shutdown(void); PHPAPI int \
php_module_shutdown_wrapper(sapi_module_struct *sapi_globals);
diff --git a/sapi/apache2handler/sapi_apache2.c b/sapi/apache2handler/sapi_apache2.c
index 7933e6accea3..5238b02bbd62 100644
--- a/sapi/apache2handler/sapi_apache2.c
+++ b/sapi/apache2handler/sapi_apache2.c
@@ -378,10 +378,7 @@ extern zend_module_entry php_apache_module;
static int php_apache2_startup(sapi_module_struct *sapi_module)
{
- if (php_module_startup(sapi_module, &php_apache_module, 1)==FAILURE) {
- return FAILURE;
- }
- return SUCCESS;
+ return php_module_startup(sapi_module, &php_apache_module);
}
static sapi_module_struct apache2_sapi_module = {
diff --git a/sapi/cgi/cgi_main.c b/sapi/cgi/cgi_main.c
index ef6a62be73c8..4f9a71bfac6c 100644
--- a/sapi/cgi/cgi_main.c
+++ b/sapi/cgi/cgi_main.c
@@ -967,10 +967,7 @@ static int sapi_cgi_deactivate(void)
static int php_cgi_startup(sapi_module_struct *sapi_module)
{
- if (php_module_startup(sapi_module, &cgi_module_entry, 1) == FAILURE) {
- return FAILURE;
- }
- return SUCCESS;
+ return php_module_startup(sapi_module, &cgi_module_entry);
}
/* {{{ sapi_module_struct cgi_sapi_module */
diff --git a/sapi/cli/php_cli.c b/sapi/cli/php_cli.c
index 97955eadd1f1..5a161fcb23c4 100644
--- a/sapi/cli/php_cli.c
+++ b/sapi/cli/php_cli.c
@@ -407,10 +407,7 @@ static void sapi_cli_send_header(sapi_header_struct \
*sapi_header, void *server_c
static int php_cli_startup(sapi_module_struct *sapi_module) /* {{{ */
{
- if (php_module_startup(sapi_module, NULL, 0)==FAILURE) {
- return FAILURE;
- }
- return SUCCESS;
+ return php_module_startup(sapi_module, NULL);
}
/* }}} */
diff --git a/sapi/cli/php_cli_server.c b/sapi/cli/php_cli_server.c
index 6e7a909b128d..7a8ec7918e23 100644
--- a/sapi/cli/php_cli_server.c
+++ b/sapi/cli/php_cli_server.c
@@ -498,7 +498,7 @@ const zend_function_entry server_additional_functions[] = {
static int sapi_cli_server_startup(sapi_module_struct *sapi_module) /* {{{ */
{
- return php_module_startup(sapi_module, &cli_server_module_entry, 1);
+ return php_module_startup(sapi_module, &cli_server_module_entry);
} /* }}} */
static size_t sapi_cli_server_ub_write(const char *str, size_t str_length) /* {{{ */
diff --git a/sapi/embed/php_embed.c b/sapi/embed/php_embed.c
index 1679246ab987..4b94bd98e66d 100644
--- a/sapi/embed/php_embed.c
+++ b/sapi/embed/php_embed.c
@@ -119,10 +119,7 @@ static void php_embed_register_variables(zval *track_vars_array)
/* Module initialization (MINIT) */
static int php_embed_startup(sapi_module_struct *sapi_module)
{
- if (php_module_startup(sapi_module, NULL, 0) == FAILURE) {
- return FAILURE;
- }
- return SUCCESS;
+ return php_module_startup(sapi_module, NULL);
}
EMBED_SAPI_API sapi_module_struct php_embed_module = {
diff --git a/sapi/fpm/fpm/fpm_main.c b/sapi/fpm/fpm/fpm_main.c
index b04763d62489..8ce59a43b414 100644
--- a/sapi/fpm/fpm/fpm_main.c
+++ b/sapi/fpm/fpm/fpm_main.c
@@ -767,10 +767,7 @@ static int sapi_cgi_deactivate(void) /* {{{ */
static int php_cgi_startup(sapi_module_struct *sapi_module) /* {{{ */
{
- if (php_module_startup(sapi_module, &cgi_module_entry, 1) == FAILURE) {
- return FAILURE;
- }
- return SUCCESS;
+ return php_module_startup(sapi_module, &cgi_module_entry);
}
/* }}} */
diff --git a/sapi/fuzzer/fuzzer-sapi.c b/sapi/fuzzer/fuzzer-sapi.c
index a9d2ce89a8b6..3a79e273106f 100644
--- a/sapi/fuzzer/fuzzer-sapi.c
+++ b/sapi/fuzzer/fuzzer-sapi.c
@@ -62,10 +62,7 @@ const char HARDCODED_INI[] =
static int startup(sapi_module_struct *sapi_module)
{
- if (php_module_startup(sapi_module, NULL, 0)==FAILURE) {
- return FAILURE;
- }
- return SUCCESS;
+ return php_module_startup(sapi_module, NULL);
}
static size_t ub_write(const char *str, size_t str_length)
diff --git a/sapi/litespeed/lsapi_main.c b/sapi/litespeed/lsapi_main.c
index e034a3fdffa9..b069f6d355b8 100644
--- a/sapi/litespeed/lsapi_main.c
+++ b/sapi/litespeed/lsapi_main.c
@@ -97,7 +97,7 @@ static void init_sapi_from_env(sapi_module_struct *sapi_module)
/* {{{ php_lsapi_startup */
static int php_lsapi_startup(sapi_module_struct *sapi_module)
{
- if (php_module_startup(sapi_module, NULL, 0)==FAILURE) {
+ if (php_module_startup(sapi_module, NULL)==FAILURE) {
return FAILURE;
}
argv0 = sapi_module->executable_location;
@@ -1518,7 +1518,7 @@ int main( int argc, char * argv[] )
lsapi_sapi_module.ini_defaults = sapi_lsapi_ini_defaults;
- if (php_module_startup(&lsapi_sapi_module, &litespeed_module_entry, 1) == \
FAILURE) { + if (php_module_startup(&lsapi_sapi_module, &litespeed_module_entry) \
== FAILURE) { #ifdef ZTS
tsrm_shutdown();
#endif
diff --git a/sapi/phpdbg/phpdbg.c b/sapi/phpdbg/phpdbg.c
index e8d796771f9b..de05a6fec60b 100644
--- a/sapi/phpdbg/phpdbg.c
+++ b/sapi/phpdbg/phpdbg.c
@@ -706,7 +706,7 @@ static zend_module_entry sapi_phpdbg_module_entry = {
static inline int php_sapi_phpdbg_module_startup(sapi_module_struct *module) /* {{{ \
*/ {
- if (php_module_startup(module, &sapi_phpdbg_module_entry, 1) == FAILURE) {
+ if (php_module_startup(module, &sapi_phpdbg_module_entry) == FAILURE) {
return FAILURE;
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic