rasmus 98/07/10 11:29:52
Modified: src CHANGES src/os/unix os.c os.h Log: Set the RTLD_GLOBAL dlopen mode parameter to allow dynamically loaded modules to load their own modules dynamically. This improves mod_perl and mod_php3 when these modules are loaded dynamically into Apache. Revision Changes Path 1.958 +5 -0 apache-1.3/src/CHANGES Index: CHANGES =================================================================== RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.957 retrieving revision 1.958 diff -u -r1.957 -r1.958 --- CHANGES 1998/07/10 12:58:54 1.957 +++ CHANGES 1998/07/10 18:29:45 1.958 @@ -270,6 +270,11 @@ log the current cache usage percentage at LogLevel debug [Martin Kraemer, based on discussion between Dean Gaudet & Dirk vanGulik] + *) Set the RTLD_GLOBAL dlopen mode parameter to allow dynamically loaded + modules to load their own modules dynamically. This improves mod_perl + and mod_php3 when these modules are loaded dynamically into Apache. + [Rasmus Lerdorf] + Changes with Apache 1.3.0 *) Using a type map file as a custom error document was not possible. 1.12 +2 -2 apache-1.3/src/os/unix/os.c Index: os.c =================================================================== RCS file: /export/home/cvs/apache-1.3/src/os/unix/os.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- os.c 1998/04/28 08:42:11 1.11 +++ os.c 1998/07/10 18:29:50 1.12 @@ -35,9 +35,9 @@ #else #if defined(OSF1) ||\ (defined(__FreeBSD_version) && (__FreeBSD_version >= 220000)) - return dlopen((char *)path, RTLD_NOW); + return dlopen((char *)path, RTLD_NOW | RTLD_GLOBAL); #else - return dlopen(path, RTLD_NOW); + return dlopen(path, RTLD_NOW | RTLD_GLOBAL); #endif #endif } 1.26 +4 -0 apache-1.3/src/os/unix/os.h Index: os.h =================================================================== RCS file: /export/home/cvs/apache-1.3/src/os/unix/os.h,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- os.h 1998/07/06 11:54:30 1.25 +++ os.h 1998/07/10 18:29:51 1.26 @@ -120,6 +120,10 @@ #define RTLD_NOW 1 #endif +#ifndef RTLD_GLOBAL +#define RTLD_GLOBAL 0 +#endif + #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) #define DLSYM_NEEDS_UNDERSCORE #endif