summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2005-06-17 09:39:23 +0000
committerDmitry Stogov <dmitry@php.net>2005-06-17 09:39:23 +0000
commitf47c78487bda814ccb1de09fe44fe9a6b4082c30 (patch)
treeb6abddf041fb917f5545741ea8928be9ebb66985 /main
parentc0c7a9f0101f5488cbf861390f5a89feaebcc94a (diff)
downloadphp-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.in4
-rw-r--r--main/internal_functions_nw.c4
-rw-r--r--main/internal_functions_win32.c4
-rw-r--r--main/main.c15
-rw-r--r--main/php.h2
-rw-r--r--main/php_ini.c4
-rw-r--r--main/php_ini.h2
-rw-r--r--main/php_main.h2
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);