You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by do...@hyperreal.org on 1998/09/20 00:27:45 UTC

cvs commit: modperl/t/internal error.t

dougm       98/09/19 15:27:45

  Modified:    .        Changes Makefile.PL
               src/modules/perl mod_perl.c mod_perl.h
               t/internal error.t
  Log:
  USE_DSO=1 may be fixed on some platforms w/ current 1.3.2-dev
  for those who are not, e.g. linux, can try a workaround by giving
  PERL_DSO_UNLOAD to Makefile.PL or by setting the PERL_DSO_UNLOAD
  environment variable
  
  Revision  Changes    Path
  1.150     +5 -0      modperl/Changes
  
  Index: Changes
  ===================================================================
  RCS file: /export/home/cvs/modperl/Changes,v
  retrieving revision 1.149
  retrieving revision 1.150
  diff -u -r1.149 -r1.150
  --- Changes	1998/09/19 18:18:35	1.149
  +++ Changes	1998/09/19 22:27:42	1.150
  @@ -8,6 +8,11 @@
   
   =item 1.15_01-dev
   
  +USE_DSO=1 may be fixed on some platforms w/ current 1.3.2-dev
  +for those who are not, e.g. linux, can try a workaround by giving
  +PERL_DSO_UNLOAD to Makefile.PL or by setting the PERL_DSO_UNLOAD
  +environment variable
  +
   fix bug in Apache::Registry if $r->uri eq "/", thanks to Mike Wertheim
   for the spot
   
  
  
  
  1.98      +2 -1      modperl/Makefile.PL
  
  Index: Makefile.PL
  ===================================================================
  RCS file: /export/home/cvs/modperl/Makefile.PL,v
  retrieving revision 1.97
  retrieving revision 1.98
  diff -u -r1.97 -r1.98
  --- Makefile.PL	1998/09/19 15:57:16	1.97
  +++ Makefile.PL	1998/09/19 22:27:42	1.98
  @@ -180,6 +180,7 @@
   $PERL_RUN_XS = 0;
   
   my %experimental = map { $_,1 } qw{
  +PERL_DSO_UNLOAD
   PERL_STARTUP_DONE_CHECK
   PERL_RUN_XS
   PERL_GET_SET_HANDLERS
  @@ -282,7 +283,7 @@
   
   my %very_experimental = map {$_,1} 
   qw(PERL_DEFAULT_OPMASK PERL_SAFE_STARTUP PERL_ORALL_OPMASK 
  -   PERL_STARTUP_DONE_CHECK);
  +   PERL_STARTUP_DONE_CHECK PERL_DSO_UNLOAD);
   
   if($EXPERIMENTAL) {
       for (keys %experimental) {
  
  
  
  1.49      +16 -1     modperl/src/modules/perl/mod_perl.c
  
  Index: mod_perl.c
  ===================================================================
  RCS file: /export/home/cvs/modperl/src/modules/perl/mod_perl.c,v
  retrieving revision 1.48
  retrieving revision 1.49
  diff -u -r1.48 -r1.49
  --- mod_perl.c	1998/09/19 17:17:05	1.48
  +++ mod_perl.c	1998/09/19 22:27:43	1.49
  @@ -413,7 +413,22 @@
   
   static void mp_dso_unload(void *data) 
   { 
  -    perl_is_running = 0; 
  +    module *modp;
  +
  +    if(!PERL_DSO_UNLOAD)
  +	return;
  +
  +    if(strEQ(top_module->name, "mod_perl.c"))
  +	return;
  +
  +    for(modp = top_module; modp; modp = modp->next) {
  +	if(modp->dynamic_load_handle) {
  +	    MP_TRACE_g(fprintf(stderr, 
  +			       "mod_perl: cancel dlclose for %s\n", 
  +			       modp->name));
  +	    modp->dynamic_load_handle = NULL;
  +	}
  +    }
   } 
   
   void perl_startup (server_rec *s, pool *p)
  
  
  
  1.51      +4 -0      modperl/src/modules/perl/mod_perl.h
  
  Index: mod_perl.h
  ===================================================================
  RCS file: /export/home/cvs/modperl/src/modules/perl/mod_perl.h,v
  retrieving revision 1.50
  retrieving revision 1.51
  diff -u -r1.50 -r1.51
  --- mod_perl.h	1998/09/18 21:05:28	1.50
  +++ mod_perl.h	1998/09/19 22:27:43	1.51
  @@ -388,6 +388,10 @@
   #define PERL_STARTUP_DONE_CHECK getenv("PERL_STARTUP_DONE_CHECK")
   #endif
   
  +#ifndef PERL_DSO_UNLOAD
  +#define PERL_DSO_UNLOAD getenv("PERL_DSO_UNLOAD")
  +#endif
  +
   #ifdef APACHE_SSL
   #define PERL_DONE_STARTUP 1
   #else
  
  
  
  1.4       +2 -1      modperl/t/internal/error.t
  
  Index: error.t
  ===================================================================
  RCS file: /export/home/cvs/modperl/t/internal/error.t,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- error.t	1998/06/03 15:53:23	1.3
  +++ error.t	1998/09/19 22:27:44	1.4
  @@ -1,7 +1,8 @@
   use Apache::test;
   #we're testing an experimental feature that doesn't work for some folks
   #will revisit later
  -unless (defined $ENV{USER} and $ENV{USER} eq 'dougm') {
  +unless (defined $ENV{USER} and $ENV{USER} eq 'dougm'
  +       and $net::callback_hooks{ERRSV_CAN_BE_HTTP}) {
       print "1..1\nok 1\n"; 
       exit;
   }