diff options
| author | Andi Gutmans <andi@php.net> | 2000-10-18 20:15:53 +0000 |
|---|---|---|
| committer | Andi Gutmans <andi@php.net> | 2000-10-18 20:15:53 +0000 |
| commit | 928da7104699a28ad1a934306d9d6cb7e63ddb18 (patch) | |
| tree | 4da1ae984161562db7070d9da204d448ca3e2100 /Zend/zend_extensions.c | |
| parent | ffc6e72604cf3401c65f2856445cb69a3f40471a (diff) | |
| download | php-git-928da7104699a28ad1a934306d9d6cb7e63ddb18.tar.gz | |
- Try #2. Wasn't allowed to delete in the previous manner because we were
in the middle of an llist_apply()
Diffstat (limited to 'Zend/zend_extensions.c')
| -rw-r--r-- | Zend/zend_extensions.c | 12 |
1 files changed, 4 insertions, 8 deletions
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; } |
