From ddbcbb666daa767d1b91caf725a4a400b13d337c Mon Sep 17 00:00:00 2001 From: Zeev Suraski Date: Fri, 28 Apr 2000 15:52:02 +0000 Subject: [PATCH] Fix a bug in the resource dispencer --- Zend/zend.c | 2 +- Zend/zend_extensions.c | 10 +++++++++- Zend/zend_extensions.h | 1 + 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Zend/zend.c b/Zend/zend.c index 99a836ccaa5..6e03c91b83e 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -327,7 +327,7 @@ int zend_startup(zend_utility_functions *utility_functions, char **extensions, i zend_v_compile_files = v_compile_files; zend_execute = execute; - zend_llist_init(&zend_extensions, sizeof(zend_extension), (void (*)(void *)) zend_extension_dtor, 1); + zend_startup_extensions(); /* set up version */ zend_version_info = strdup(ZEND_CORE_VERSION_INFO); diff --git a/Zend/zend_extensions.c b/Zend/zend_extensions.c index ee69ef380e2..de5df361574 100644 --- a/Zend/zend_extensions.c +++ b/Zend/zend_extensions.c @@ -21,7 +21,7 @@ #include "zend_extensions.h" ZEND_API zend_llist zend_extensions; -static int last_resource_number=0; +static int last_resource_number; int zend_load_extensions(char **extension_paths) { @@ -143,6 +143,14 @@ static void zend_extension_shutdown(zend_extension *extension) } +int zend_startup_extensions() +{ + zend_llist_init(&zend_extensions, sizeof(zend_extension), (void (*)(void *)) zend_extension_dtor, 1); + last_resource_number = 0; + return SUCCESS; +} + + void zend_shutdown_extensions() { zend_llist_apply(&zend_extensions, (void (*)(void *)) zend_extension_shutdown); diff --git a/Zend/zend_extensions.h b/Zend/zend_extensions.h index 34f83b1f404..83cbfabd200 100644 --- a/Zend/zend_extensions.h +++ b/Zend/zend_extensions.h @@ -92,6 +92,7 @@ ZEND_API int zend_load_extension(char *path); ZEND_API int zend_load_extensions(char **extension_paths); ZEND_API int zend_register_extension(zend_extension *new_extension, DL_HANDLE handle); void zend_append_version_info(zend_extension *extension); +int zend_startup_extensions(void); void zend_shutdown_extensions(void); #endif /* _ZEND_EXTENSIONS_H */