From 928da7104699a28ad1a934306d9d6cb7e63ddb18 Mon Sep 17 00:00:00 2001 From: Andi Gutmans Date: Wed, 18 Oct 2000 20:15:53 +0000 Subject: - Try #2. Wasn't allowed to delete in the previous manner because we were in the middle of an llist_apply() --- Zend/zend_extensions.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'Zend/zend_extensions.c') diff --git a/Zend/zend_extensions.c b/Zend/zend_extensions.c index 6859f5f0c5..794728adb5 100644 --- a/Zend/zend_extensions.c +++ b/Zend/zend_extensions.c @@ -138,20 +138,16 @@ static void zend_extension_shutdown(zend_extension *extension) #endif } -static int zend_compare_extensions(zend_extension *extension1, zend_extension *extension2) -{ - return (extension1->handle == extension2->handle); -} - -static void zend_extension_startup(zend_extension *extension) +static int zend_extension_startup(zend_extension *extension) { #if ZEND_EXTENSIONS_SUPPORT if (extension->startup) { if (extension->startup(extension)!=SUCCESS) { - zend_llist_del_element(&zend_extensions, extension, (int(*)(void *, void *)) zend_compare_extensions); + return 1; } } #endif + return 0; } @@ -166,7 +162,7 @@ int zend_startup_extensions_mechanism() int zend_startup_extensions() { - zend_llist_apply(&zend_extensions, (void (*)(void *)) zend_extension_startup); + zend_llist_apply_with_del(&zend_extensions, (int (*)(void *)) zend_extension_startup); return SUCCESS; } -- cgit v1.2.1