Re: [ZEND-ENGINE-CVS] cvs: Zend(PHP_4_3) / zend.h zend_API.c

From: Date: Tue, 11 Jan 2005 05:08:45 +0000
Subject: Re: [ZEND-ENGINE-CVS] cvs: Zend(PHP_4_3) / zend.h zend_API.c
References: 1  Groups: php.zend-engine.cvs 
Request: Send a blank email to php-zend-engine-cvs+get-3276@lists.php.net to get a copy of this message
On Mon, 10 Jan 2005, Rasmus Lerdorf wrote:
rasmus Mon Jan 10 16:28:30 2005 EDT
 Modified files:              (Branch: PHP_4_3)
/Zend zend.h zend_API.c Log: Fixed shared extensions on OSX. We were using zend_mh_bundle_load to load a shared extension, but dlclose() to unload it because it was hardcoded. This caused problems for extensions loaded from php.ini since the Apple linker does a symbol check on an unload and we hadn't properly unloaded the shared extensions when Apache unloaded the parent PHP shared library during its 2-pass load/unload/load startup routine. By fixing the DL_UNLOAD macro and un-hardcoding the dlclose() call this now works. [snip]
diff -u Zend/zend_API.c:1.113.2.4 Zend/zend_API.c:1.113.2.5 --- Zend/zend_API.c:1.113.2.4 Mon Sep 22 00:22:06 2003 +++ Zend/zend_API.c Mon Jan 10 16:28:30 2005 @@ -1131,7 +1131,7 @@ #if HAVE_LIBDL if (module->handle) { - dlclose(module->handle); + DL_UNLOAD(module->handle); } #endif }
    What if HAVE_LIBDL is not defined?
    I think "|| HAVE_MACH_O_DYLD_H" needs to be added after HAVE_LIBDL..
    --Jani


« previous php.zend-engine.cvs (#3276) next »