From 000a9e30156cd99a7612089dfd1f8799a963132f Mon Sep 17 00:00:00 2001 From: foobar Date: Mon, 8 Aug 2005 16:49:44 +0000 Subject: [PATCH] - Fixed problem with -dextension=foobar.so not having it's MINIT run. --- ext/standard/dl.c | 10 +++++----- ext/standard/dl.h | 2 +- main/php_ini.c | 2 +- sapi/cli/php_cli.c | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ext/standard/dl.c b/ext/standard/dl.c index 2245f4342c..4bff2e5655 100644 --- a/ext/standard/dl.c +++ b/ext/standard/dl.c @@ -84,7 +84,7 @@ PHP_FUNCTION(dl) #endif } - php_dl(*file, MODULE_TEMPORARY, return_value TSRMLS_CC); + php_dl(*file, MODULE_TEMPORARY, return_value, 0 TSRMLS_CC); EG(full_tables_cleanup) = 1; } @@ -101,7 +101,7 @@ PHP_FUNCTION(dl) /* {{{ php_dl */ -void php_dl(zval *file, int type, zval *return_value TSRMLS_DC) +void php_dl(zval *file, int type, zval *return_value, int start_now TSRMLS_DC) { void *handle; char *libpath; @@ -223,12 +223,12 @@ void php_dl(zval *file, int type, zval *return_value TSRMLS_DC) RETURN_FALSE; } - if (type == MODULE_TEMPORARY && zend_startup_module_ex(module_entry TSRMLS_CC) == FAILURE) { + if ((type == MODULE_TEMPORARY || start_now) && zend_startup_module_ex(module_entry TSRMLS_CC) == FAILURE) { DL_UNLOAD(handle); RETURN_FALSE; } - if ((type == MODULE_TEMPORARY) && module_entry->request_startup_func) { + if ((type == MODULE_TEMPORARY || start_now) && module_entry->request_startup_func) { if (module_entry->request_startup_func(type, module_entry->module_number TSRMLS_CC) == FAILURE) { php_error_docref(NULL TSRMLS_CC, error_type, "Unable to initialize module '%s'", module_entry->name); DL_UNLOAD(handle); @@ -246,7 +246,7 @@ PHP_MINFO_FUNCTION(dl) #else -void php_dl(zval *file, int type, zval *return_value TSRMLS_DC) +void php_dl(zval *file, int type, zval *return_value, int start_now TSRMLS_DC) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot dynamically load %s - dynamic modules are not supported", Z_STRVAL_P(file)); RETURN_FALSE; diff --git a/ext/standard/dl.h b/ext/standard/dl.h index 1728d10338..607047355b 100644 --- a/ext/standard/dl.h +++ b/ext/standard/dl.h @@ -23,7 +23,7 @@ #ifndef DL_H #define DL_H -PHPAPI void php_dl(zval *file,int type, zval *return_value TSRMLS_DC); +PHPAPI void php_dl(zval *file,int type, zval *return_value, int start_now TSRMLS_DC); /* dynamic loading functions */ PHP_FUNCTION(dl); diff --git a/main/php_ini.c b/main/php_ini.c index 65139e43ce..3745cb4dc0 100644 --- a/main/php_ini.c +++ b/main/php_ini.c @@ -242,7 +242,7 @@ static void php_load_function_extension_cb(void *arg TSRMLS_DC) zval *extension = (zval *) arg; zval zval; - php_dl(extension, MODULE_PERSISTENT, &zval TSRMLS_CC); + php_dl(extension, MODULE_PERSISTENT, &zval, 0 TSRMLS_CC); } /* }}} */ diff --git a/sapi/cli/php_cli.c b/sapi/cli/php_cli.c index 6f66ba61f9..1767b9c940 100644 --- a/sapi/cli/php_cli.c +++ b/sapi/cli/php_cli.c @@ -438,7 +438,7 @@ static void define_command_line_ini_entry(char *arg TSRMLS_DC) if (!strcasecmp(name, "extension")) { /* load function module */ zval extension, zval; ZVAL_STRING(&extension, value, 0); - php_dl(&extension, MODULE_TEMPORARY, &zval TSRMLS_CC); + php_dl(&extension, MODULE_PERSISTENT, &zval, 1 TSRMLS_CC); } else { zend_alter_ini_entry(name, strlen(name)+1, value, strlen(value), PHP_INI_SYSTEM, PHP_INI_STAGE_ACTIVATE); } -- 2.50.1