diff options
| author | Dmitry Stogov <dmitry@php.net> | 2005-06-17 09:39:23 +0000 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@php.net> | 2005-06-17 09:39:23 +0000 |
| commit | f47c78487bda814ccb1de09fe44fe9a6b4082c30 (patch) | |
| tree | b6abddf041fb917f5545741ea8928be9ebb66985 /main | |
| parent | c0c7a9f0101f5488cbf861390f5a89feaebcc94a (diff) | |
| download | php-git-f47c78487bda814ccb1de09fe44fe9a6b4082c30.tar.gz | |
Improved PHP extension loading mechanism with support for module dependencies and conflicts
Diffstat (limited to 'main')
| -rw-r--r-- | main/internal_functions.c.in | 4 | ||||
| -rw-r--r-- | main/internal_functions_nw.c | 4 | ||||
| -rw-r--r-- | main/internal_functions_win32.c | 4 | ||||
| -rw-r--r-- | main/main.c | 15 | ||||
| -rw-r--r-- | main/php.h | 2 | ||||
| -rw-r--r-- | main/php_ini.c | 4 | ||||
| -rw-r--r-- | main/php_ini.h | 2 | ||||
| -rw-r--r-- | main/php_main.h | 2 |
8 files changed, 19 insertions, 18 deletions
diff --git a/main/internal_functions.c.in b/main/internal_functions.c.in index 8e2b7b8518..065807162b 100644 --- a/main/internal_functions.c.in +++ b/main/internal_functions.c.in @@ -36,9 +36,9 @@ zend_module_entry *php_builtin_extensions[] = { #define EXTCOUNT (sizeof(php_builtin_extensions)/sizeof(zend_module_entry *)) -int php_startup_internal_extensions(void) +int php_register_internal_extensions(TSRMLS_D) { - return php_startup_extensions(php_builtin_extensions, EXTCOUNT); + return php_register_extensions(php_builtin_extensions, EXTCOUNT TSRMLS_CC); } /* diff --git a/main/internal_functions_nw.c b/main/internal_functions_nw.c index 9500a6d95c..b3baf2a62c 100644 --- a/main/internal_functions_nw.c +++ b/main/internal_functions_nw.c @@ -85,9 +85,9 @@ zend_module_entry *php_builtin_extensions[] = { #define EXTCOUNT (sizeof(php_builtin_extensions)/sizeof(zend_module_entry *)) -int php_startup_internal_extensions(void) +int php_register_internal_extensions(TSRMLS_D) { - return php_startup_extensions(php_builtin_extensions, EXTCOUNT); + return php_register_extensions(php_builtin_extensions, EXTCOUNT TSRMLS_CC); } diff --git a/main/internal_functions_win32.c b/main/internal_functions_win32.c index 75257a69fe..5254be4393 100644 --- a/main/internal_functions_win32.c +++ b/main/internal_functions_win32.c @@ -158,9 +158,9 @@ zend_module_entry *php_builtin_extensions[] = { #define EXTCOUNT (sizeof(php_builtin_extensions)/sizeof(zend_module_entry *)) -int php_startup_internal_extensions(void) +int php_register_internal_extensions(TSRMLS_D) { - return php_startup_extensions(php_builtin_extensions, EXTCOUNT); + return php_register_extensions(php_builtin_extensions, EXTCOUNT TSRMLS_CC); } /* diff --git a/main/main.c b/main/main.c index bffb89fb1c..ff632841d7 100644 --- a/main/main.c +++ b/main/main.c @@ -1287,15 +1287,15 @@ static void core_globals_ctor(php_core_globals *core_globals TSRMLS_DC) /* }}} */ #endif -/* {{{ php_startup_extensions +/* {{{ php_register_extensions */ -int php_startup_extensions(zend_module_entry **ptr, int count) +int php_register_extensions(zend_module_entry **ptr, int count TSRMLS_DC) { - zend_module_entry **end = ptr+count; + zend_module_entry **end = ptr + count; while (ptr < end) { if (*ptr) { - if (zend_startup_module(*ptr)==FAILURE) { + if (zend_register_internal_module(*ptr TSRMLS_CC)==FAILURE) { return FAILURE; } } @@ -1480,13 +1480,13 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod zend_register_default_classes(TSRMLS_C); /* startup extensions staticly compiled in */ - if (php_startup_internal_extensions() == FAILURE) { + if (php_register_internal_extensions(TSRMLS_C) == FAILURE) { php_printf("Unable to start builtin modules\n"); return FAILURE; } /* start additional PHP extensions */ - php_startup_extensions(&additional_modules, num_additional_modules); + php_register_extensions(&additional_modules, num_additional_modules TSRMLS_CC); /* load and startup extensions compiled as shared objects (aka DLLs) @@ -1496,7 +1496,8 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod which is always an internal extension and to be initialized ahead of all other internals */ - php_ini_delayed_modules_startup(TSRMLS_C); + php_ini_register_extensions(TSRMLS_C); + zend_startup_modules(TSRMLS_C); /* disable certain classes and functions as requested by php.ini */ php_disable_functions(TSRMLS_C); diff --git a/main/php.h b/main/php.h index 60977dc59c..25869aaa42 100644 --- a/main/php.h +++ b/main/php.h @@ -319,7 +319,7 @@ END_EXTERN_C() /* functions */ BEGIN_EXTERN_C() -int php_startup_internal_extensions(void); +int php_register_internal_extensions(TSRMLS_D); int php_mergesort(void *base, size_t nmemb, register size_t size, int (*cmp)(const void *, const void * TSRMLS_DC) TSRMLS_DC); diff --git a/main/php_ini.c b/main/php_ini.c index a8c1129dbb..e6dd1b8a34 100644 --- a/main/php_ini.c +++ b/main/php_ini.c @@ -544,9 +544,9 @@ int php_shutdown_config(void) } /* }}} */ -/* {{{ php_ini_delayed_modules_startup +/* {{{ php_ini_register_extensions */ -void php_ini_delayed_modules_startup(TSRMLS_D) +void php_ini_register_extensions(TSRMLS_D) { zend_llist_apply(&extension_lists.engine, php_load_zend_extension_cb TSRMLS_CC); zend_llist_apply(&extension_lists.functions, php_load_function_extension_cb TSRMLS_CC); diff --git a/main/php_ini.h b/main/php_ini.h index 94b5d3271f..4a733b522a 100644 --- a/main/php_ini.h +++ b/main/php_ini.h @@ -26,7 +26,7 @@ BEGIN_EXTERN_C() int php_init_config(); int php_shutdown_config(void); -void php_ini_delayed_modules_startup(TSRMLS_D); +void php_ini_register_extensions(TSRMLS_D); zval *cfg_get_entry(char *name, uint name_length); END_EXTERN_C() diff --git a/main/php_main.h b/main/php_main.h index 883953643f..e22ffd6ef3 100644 --- a/main/php_main.h +++ b/main/php_main.h @@ -36,7 +36,7 @@ PHPAPI void php_module_shutdown_for_exec(void); PHPAPI int php_module_shutdown_wrapper(sapi_module_struct *sapi_globals); PHPAPI int php_request_startup_for_hook(TSRMLS_D); -PHPAPI int php_startup_extensions(zend_module_entry **ptr, int count); +PHPAPI int php_register_extensions(zend_module_entry **ptr, int count TSRMLS_DC); PHPAPI int php_execute_script(zend_file_handle *primary_file TSRMLS_DC); PHPAPI int php_execute_simple_script(zend_file_handle *primary_file, zval **ret TSRMLS_DC); |
