diff options
author | Zeev Suraski <zeev@php.net> | 1999-04-18 15:11:52 +0000 |
---|---|---|
committer | Zeev Suraski <zeev@php.net> | 1999-04-18 15:11:52 +0000 |
commit | 342c6e0b2328db952709dd5a35c113e2b17c1e3d (patch) | |
tree | a43236d5e2474a8f55a6e5cb9ebd262da5374770 /Zend/zend_extensions.c | |
parent | 2e8fb4e329bf98eb33dffad4c5fb1b49f73e7517 (diff) | |
download | php-git-342c6e0b2328db952709dd5a35c113e2b17c1e3d.tar.gz |
Whatnot:
* updated alloc_persist to use critical sections
* changed extension shutdown to two-phase
* updated dependencies
* PR support (don't remember if there was any really)
Diffstat (limited to 'Zend/zend_extensions.c')
-rw-r--r-- | Zend/zend_extensions.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/Zend/zend_extensions.c b/Zend/zend_extensions.c index fe63768dba..ce49505f12 100644 --- a/Zend/zend_extensions.c +++ b/Zend/zend_extensions.c @@ -100,13 +100,26 @@ int zend_load_extension(char *path) #endif } - -void zend_extension_dtor(zend_extension *extension) +static void zend_extension_shutdown(zend_extension *extension) { #if ZEND_EXTENSIONS_SUPPORT if (extension->shutdown) { extension->shutdown(extension); } +#endif +} + + +void zend_shutdown_extensions() +{ + zend_llist_apply(&zend_extensions, (void (*)(void *)) zend_extension_shutdown); + zend_llist_destroy(&zend_extensions); +} + + +void zend_extension_dtor(zend_extension *extension) +{ +#if ZEND_EXTENSIONS_SUPPORT DL_UNLOAD(extension->handle); #endif } |