cvs commit: apache-1.3/src/os/unix os.c os.h

1998-07-10 Thread rasmus
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  ChangesPath
  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 >= 22))
  -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
  
  
  


cvs commit: apache-1.3/src/os/unix os.c os.h

1998-04-12 Thread rse
rse 98/04/12 08:49:28

  Modified:.STATUS
   src  CHANGES Configuration.tmpl Configure
   src/os/unix os.c os.h
  Log:
  Although I though we have no chance under HP/UX for using shared objects I
  today figured out that their proprietary shl_xxx system calls are very close
  to the dlopen-style interface. And because our os/unix/ stuff already provides
  an abstraction layer we now can provide DSO support for HP/UX by emulating the
  dlopen-style interface while not changing anything inside mod_so ;-)
  
  Revision  ChangesPath
  1.293 +1 -0  apache-1.3/STATUS
  
  Index: STATUS
  ===
  RCS file: /export/home/cvs/apache-1.3/STATUS,v
  retrieving revision 1.292
  retrieving revision 1.293
  diff -u -r1.292 -r1.293
  --- STATUS1998/04/11 15:46:29 1.292
  +++ STATUS1998/04/12 15:49:24 1.293
  @@ -178,6 +178,7 @@
   * Ralf's and Martin's DSO support for all SVR4-derivate Unix platforms
   * THE BIG SYMBOL RENAMING
   * Ralf's DSO configuration updates for the UnixWare platform
  +* Ralf's DSO support for the HP/UX platform by emulating dlopen
   
   Available Patches:
   
  
  
  
  1.767 +4 -0  apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.766
  retrieving revision 1.767
  diff -u -r1.766 -r1.767
  --- CHANGES   1998/04/11 15:22:03 1.766
  +++ CHANGES   1998/04/12 15:49:25 1.767
  @@ -1,5 +1,9 @@
   Changes with Apache 1.3b6

  +  *) Adding DSO support for the HP/UX platform by emulating the dlopen-style
  + interface via the similar but proprietary HP/UX shl_xxx-style system
  + calls. [Ralf S. Engelschall]
  +
 *) PORT: Updated UnixWare 2.0.x and 2.1.x entries for DSO support and made
APACI Makefile.tmpl "install" target more robust for sensible UnixWare
Make. [Ralf S. Engelschall]
  
  
  
  1.99  +3 -3  apache-1.3/src/Configuration.tmpl
  
  Index: Configuration.tmpl
  ===
  RCS file: /export/home/cvs/apache-1.3/src/Configuration.tmpl,v
  retrieving revision 1.98
  retrieving revision 1.99
  diff -u -r1.98 -r1.99
  --- Configuration.tmpl1998/04/10 10:34:32 1.98
  +++ Configuration.tmpl1998/04/12 15:49:26 1.99
  @@ -62,11 +62,11 @@
   # heavily platform-dependent. The current state is this:
   #
   # Out-of-the-box supported platforms:
  -#   Linux, FreeBSD, Solaris, SunOS, 
  -#   IRIX, OSF1, UnixWare, SINIX, SVR4
  +#   Linux, FreeBSD, Solaris, SunOS, OSF1
  +#   IRIX, HP/UX, UnixWare, SINIX, SVR4
   #
   # Explicitly unsupported platforms:
  -#   HP/UX, AIX, Ultrix
  +#   AIX, Ultrix
   #
   # For other platforms where you want to use the DSO mechanism you
   # first have to make sure it supports the pragmatic dlopen()
  
  
  
  1.237 +16 -0 apache-1.3/src/Configure
  
  Index: Configure
  ===
  RCS file: /export/home/cvs/apache-1.3/src/Configure,v
  retrieving revision 1.236
  retrieving revision 1.237
  diff -u -r1.236 -r1.237
  --- Configure 1998/04/11 15:22:04 1.236
  +++ Configure 1998/04/12 15:49:26 1.237
  @@ -858,6 +858,22 @@
   LDFLAGS_SHLIB_EXPORT=""
   DEF_SHARED_CORE=yes
   ;;
  +*-hp-hpux9.*)
  +case $CC in
  +*/gcc|gcc ) CFLAGS_SHLIB="-fpic" ;;
  +*/cc|cc   ) CFLAGS_SHLIB="+z" ;;
  +esac
  +LDFLAGS_SHLIB="-b"
  +LDFLAGS_SHLIB_EXPORT="-Wl,-E -Wl,-B,deferred"
  +;;
  +*-hp-hpux10.*)
  +case $CC in
  +*/gcc|gcc ) CFLAGS_SHLIB="-fpic" ;;
  +*/cc|cc   ) CFLAGS_SHLIB="+z" ;;
  +esac
  +LDFLAGS_SHLIB="-b"
  +LDFLAGS_SHLIB_EXPORT="-Wl,-E -Wl,-B,deferred"
  +;;
   *)
   ##  ok, no known explict support for shared objects
   ##  on this platform, but we give not up immediately.
  
  
  
  1.7   +43 -0 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.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- os.c  1998/03/17 07:54:27 1.6
  +++ os.c  1998/04/12 15:49:28 1.7
  @@ -12,3 +12,46 @@
*/
   extern void os_is_not_here(void);
   void os_is_not_here(void) {}
  +
  +
  +#if defined(HPUX) || defined(HPUX10)
  +
  +/*
  + * HPUX dlopen interface-emulation
  + */
  +
  +#include 
  +#include 
  +
  +void *os_dl_load(char *path)
  +{
  +shl_t handle;
  +handle = shl_load(path, BIND_IMMEDIATE|BIND_VERBOSE|BIND_NOSTART, 0L);
  +return (voi

cvs commit: apache-1.3/src/os/unix os.c os.h

1998-03-17 Thread dgaudet
dgaudet 98/03/16 23:54:29

  Modified:src/ap   ap_execve.c
   src/include alloc.h conf.h hide.h http_config.h http_core.h
http_protocol.h httpd.h
   src/main alloc.c http_config.c http_core.c http_log.c
http_main.c http_protocol.c http_request.c
http_vhost.c
   src/os/unix os.c os.h
  Log:
  - staticization!  (Doug I know this breaks your dce thing -- but we talked
  about you changing STANDALONE_MAIN to be a #include instead.)
  - change API_EXPORT to CORE_EXPORT for the functions Doug needed for
  mod_perl
  - basic_http_header is API_EXPORT
  - send_header_field is API_EXPORT_NONSTD
  - srm_command_loop is API_EXPORT
  
  Revision  ChangesPath
  1.8   +1 -0  apache-1.3/src/ap/ap_execve.c
  
  Index: ap_execve.c
  ===
  RCS file: /export/home/cvs/apache-1.3/src/ap/ap_execve.c,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ap_execve.c   1998/02/27 09:46:31 1.7
  +++ ap_execve.c   1998/03/17 07:54:09 1.8
  @@ -331,5 +331,6 @@
   return NULL;
   }
   #else
  +extern void ap_execve_is_not_here(void);
   void ap_execve_is_not_here(void) {}
   #endif /* NEED_HASHBANG_EMUL */
  
  
  
  1.49  +1 -2  apache-1.3/src/include/alloc.h
  
  Index: alloc.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/alloc.h,v
  retrieving revision 1.48
  retrieving revision 1.49
  diff -u -r1.48 -r1.49
  --- alloc.h   1998/03/14 00:32:05 1.48
  +++ alloc.h   1998/03/17 07:54:10 1.49
  @@ -82,8 +82,7 @@
   
   typedef struct pool pool;
   
  -extern pool *permanent_pool;
  -void init_alloc(void);   /* Set up everything */
  +pool * init_alloc(void); /* Set up everything */
   API_EXPORT(pool *) make_sub_pool(pool *);/* All pools are subpools of 
permanent_pool */
   API_EXPORT(void) destroy_pool(pool *);
   
  
  
  
  1.191 +5 -0  apache-1.3/src/include/conf.h
  
  Index: conf.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/conf.h,v
  retrieving revision 1.190
  retrieving revision 1.191
  diff -u -r1.190 -r1.191
  --- conf.h1998/03/13 23:44:42 1.190
  +++ conf.h1998/03/17 07:54:10 1.191
  @@ -759,6 +759,11 @@
   #define API_VAR_EXPORT
   #endif
   
  +/* modules should not used functions marked CORE_EXPORT */
  +#ifndef CORE_EXPORT
  +#define CORE_EXPORT  API_EXPORT
  +#endif
  +
   /* So that we can use inline on some critical functions, and use
* GNUC attributes (such as to get -Wall warnings for printf-like
* functions).  Only do this in gcc 2.7 or later ... it may work
  
  
  
  1.12  +4 -53 apache-1.3/src/include/hide.h
  
  Index: hide.h
  ===
  RCS file: /export/home/cvs/apache-1.3/src/include/hide.h,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- hide.h1998/03/14 12:22:10 1.11
  +++ hide.h1998/03/17 07:54:11 1.12
  @@ -117,6 +117,7 @@
   #define cgi_module AP_cgi_module
   #define config_log_module  AP_config_log_module
   #define core_moduleAP_core_module
  +#define day_snames AP_day_snames
   #define db_auth_module AP_db_auth_module
   #define dbm_auth_moduleAP_dbm_auth_module
   #define digest_module  AP_digest_module
  @@ -131,6 +132,7 @@
   #define info_moduleAP_info_module
   #define mime_magic_module  AP_mime_magic_module
   #define mime_moduleAP_mime_module
  +#define month_snames   AP_month_snames
   #define negotiation_module AP_negotiation_module
   #define prelinked_modules  AP_prelinked_modules
   #define preloaded_modules  AP_preloaded_modules
  @@ -152,14 +154,11 @@
   /*
*  Text segment symbols
*/
  -#define AMCSocketCleanup   AP_AMCSocketCleanup
  -#define AMCSocketInitializeAP_AMCSocketInitialize
   #define MD5Final   AP_MD5Final
   #define MD5InitAP_MD5Init
   #define MD5Update  AP_MD5Update
   #define add_cgi_vars   AP_add_cgi_vars
   #define add_common_varsAP_add_common_vars
  -#define add_file_conf  AP_add_file_conf
   #define add_module AP_add_module
   #define add_named_module   AP_add_named_module
   #define add_per_dir_conf   AP_add_per_dir_conf
  @@ -192,7 +191,6 @@
   #define bskiplfAP_bskiplf
   #define bvputs AP_bvputs
   #define bwrite