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...@postman.hyperreal.org on 1998/08/25 21:10:40 UTC

cvs commit: modperl/src/modules/perl mod_perl.c

dougm       98/08/25 12:10:39

  Modified:    .        Changes
               src/modules/perl mod_perl.c
  Log:
  if PERL_DESTRUCT_LEVEL < 0, skip perl_destruct(), etc. in perl_shutdown()
  
  Revision  Changes    Path
  1.113     +2 -0      modperl/Changes
  
  Index: Changes
  ===================================================================
  RCS file: /export/home/cvs/modperl/Changes,v
  retrieving revision 1.112
  retrieving revision 1.113
  diff -u -r1.112 -r1.113
  --- Changes	1998/08/25 18:58:39	1.112
  +++ Changes	1998/08/25 19:10:36	1.113
  @@ -8,6 +8,8 @@
   
   =item 1.15_01-dev
   
  +if PERL_DESTRUCT_LEVEL < 0, skip perl_destruct(), etc. in perl_shutdown()
  +
   add CLOSE method for tied *STD{OUT,IN}
   
   add config for mod_ssl and 'make test' [Lupe Christoph <lu...@alanya.m.isar.de>]
  
  
  
  1.40      +10 -3     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.39
  retrieving revision 1.40
  diff -u -r1.39 -r1.40
  --- mod_perl.c	1998/08/13 03:19:38	1.39
  +++ mod_perl.c	1998/08/25 19:10:37	1.40
  @@ -253,16 +253,23 @@
   void perl_shutdown (server_rec *s, pool *p)
   {
       char *pdl = NULL;
  -    /* execute END blocks we suspended during perl_startup() */
  -    perl_run_endav("perl_shutdown"); 
   
       if((pdl = getenv("PERL_DESTRUCT_LEVEL")))
   	perl_destruct_level = atoi(pdl);
       else
   	perl_destruct_level = PERL_DESTRUCT_LEVEL;
   
  +    if(perl_destruct_level < 0) {
  +	MP_TRACE_g(fprintf(stderr, 
  +			   "skipping destruction of Perl interpreter\n"));
  +	return;
  +    }
  +
  +    /* execute END blocks we suspended during perl_startup() */
  +    perl_run_endav("perl_shutdown"); 
  +
       MP_TRACE_g(fprintf(stderr, 
  -		     "destructing and freeing perl interpreter..."));
  +		     "destructing and freeing Perl interpreter..."));
   
       perl_util_cleanup();