richter     02/03/19 23:49:36

  Modified:    .        Tag: Embperl2c Changes.pod MANIFEST epinit.c
                        test.pl
  Added:       test/cmp Tag: Embperl2c keepreq.htm keepreq.htm.2
               test/html Tag: Embperl2c keepreq.htm
  Log:
  fix cleanup of embperl objects
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.129.4.56 +3 -0      embperl/Changes.pod
  
  Index: Changes.pod
  ===================================================================
  RCS file: /home/cvs/embperl/Changes.pod,v
  retrieving revision 1.129.4.55
  retrieving revision 1.129.4.56
  diff -u -r1.129.4.55 -r1.129.4.56
  --- Changes.pod       20 Mar 2002 06:28:22 -0000      1.129.4.55
  +++ Changes.pod       20 Mar 2002 07:49:35 -0000      1.129.4.56
  @@ -9,6 +9,9 @@
        Embperl/Object.pm.
      - Make symbolsnames unique so they don't clash with 1.3.4. Reported
        by Kee Hinckley.
  +   - Fixed a problem that ocurred when a reference to some of the Embperl
  +     objects was kept after the end of it's lifetime, which caused a
  +     segfault.
   
   =head1 2.0b6 (BETA) 13. Mar. 2002
   
  
  
  
  1.50.4.42 +3 -0      embperl/MANIFEST
  
  Index: MANIFEST
  ===================================================================
  RCS file: /home/cvs/embperl/MANIFEST,v
  retrieving revision 1.50.4.41
  retrieving revision 1.50.4.42
  diff -u -r1.50.4.41 -r1.50.4.42
  --- MANIFEST  18 Mar 2002 20:23:44 -0000      1.50.4.41
  +++ MANIFEST  20 Mar 2002 07:49:35 -0000      1.50.4.42
  @@ -250,6 +250,8 @@
   test/cmp/inputjava.htm
   test/cmp/inputjs2.htm
   test/cmp/java.htm
  +test/cmp/keepreq.htm
  +test/cmp/keepreq.htm.2
   test/cmp/lists.htm
   test/cmp/loop.htm
   test/cmp/loopperl.htm
  @@ -438,6 +440,7 @@
   test/html/inputjava.htm
   test/html/inputjs2.htm
   test/html/java.htm
  +test/html/keepreq.htm
   test/html/lists.htm
   test/html/loop.htm
   test/html/loopperl.htm
  
  
  
  1.1.2.44  +16 -1     embperl/Attic/epinit.c
  
  Index: epinit.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epinit.c,v
  retrieving revision 1.1.2.43
  retrieving revision 1.1.2.44
  diff -u -r1.1.2.43 -r1.1.2.44
  --- epinit.c  12 Mar 2002 09:33:10 -0000      1.1.2.43
  +++ epinit.c  20 Mar 2002 07:49:35 -0000      1.1.2.44
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epinit.c,v 1.1.2.43 2002/03/12 09:33:10 richter Exp $
  +#   $Id: epinit.c,v 1.1.2.44 2002/03/20 07:49:35 richter Exp $
   #
   
###################################################################################*/
   
  @@ -1417,6 +1417,7 @@
           sprintf (buf, "%d", SvREFCNT(SvRV(pOutput -> _perlsv)) - 1) ;
           LogErrorParam (r -> pApp, rcRefcntNotOne, buf, "request.component.output") ;
           }            
  +    sv_unmagic(SvRV(pOutput -> _perlsv), '~') ;
       SvREFCNT_dec (pOutput -> _perlsv) ;
       ep_destroy_pool (pOutput -> pPool) ;
   
  @@ -1490,9 +1491,16 @@
           sprintf (buf, "%d", SvREFCNT(SvRV(c -> _perlsv)) - 1) ;
           LogErrorParam (r -> pApp, rcRefcntNotOne, buf, "request.component") ;
           }            
  +    sv_unmagic(SvRV(c -> Config._perlsv), '~') ;
  +    Embperl__Component__Config_destroy(aTHX_ &c -> Config) ;
       SvREFCNT_dec (c -> Config._perlsv) ;
  +    sv_unmagic(SvRV(c -> Param._perlsv), '~') ;
  +    Embperl__Component__Param_destroy(aTHX_ &c -> Param) ;
       SvREFCNT_dec (c -> Param._perlsv) ;
  +    sv_unmagic(SvRV(c -> _perlsv), '~') ;
  +    Embperl__Component_destroy(aTHX_ c) ;
       SvREFCNT_dec (c -> _perlsv) ;
  +    sv_setpv(ERRSV,"");
   
       if (c == &r -> Component && c -> pPrev)
           { /* we have a previous component, so let restore it */
  @@ -1610,13 +1618,20 @@
           LogErrorParam (r -> pApp, rcRefcntNotOne, buf, "request") ;
           }            
           */
  +    sv_unmagic(SvRV(r -> Config._perlsv), '~') ;
  +    Embperl__Req__Config_destroy(aTHX_ &r -> Config) ;
       SvREFCNT_dec (r -> Config._perlsv) ;
  +    sv_unmagic(SvRV(r -> Param._perlsv), '~') ;
  +    Embperl__Req__Param_destroy(aTHX_ &r -> Param) ;
       SvREFCNT_dec (r -> Param._perlsv) ;
   
       /* cleanup errarray manualy, to avoid segv incase error in destroy */
       SvREFCNT_dec (r -> pErrArray) ;
       r -> pErrArray = NULL ;
   
  +    
  +    sv_unmagic(SvRV(r -> _perlsv), '~') ;
  +    Embperl__Req_destroy(aTHX_ r) ;
       SvREFCNT_dec (r -> _perlsv) ;
       ep_destroy_pool (r -> pPool) ;
   
  
  
  
  1.70.4.130 +10 -1     embperl/test.pl
  
  Index: test.pl
  ===================================================================
  RCS file: /home/cvs/embperl/test.pl,v
  retrieving revision 1.70.4.129
  retrieving revision 1.70.4.130
  diff -u -r1.70.4.129 -r1.70.4.130
  --- test.pl   12 Mar 2002 09:33:10 -0000      1.70.4.129
  +++ test.pl   20 Mar 2002 07:49:35 -0000      1.70.4.130
  @@ -11,7 +11,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: test.pl,v 1.70.4.129 2002/03/12 09:33:10 richter Exp $
  +#   $Id: test.pl,v 1.70.4.130 2002/03/20 07:49:35 richter Exp $
   #
   ###################################################################################
   
  @@ -254,6 +254,15 @@
           'offline'    => 0,
           'cgi'        => 0,
           'repeat'     => 2,
  +        },
  +    'keepreq.htm' => {
  +        'cgi'        => 0,
  +        'errors'     => 1,
  +        },
  +    'keepreq.htm' => {
  +        'cgi'        => 0,
  +        'errors'     => 1,
  +        'cmpext'     => '.2',
           },
       'include.htm' => { 
           'version'    => 1,
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.1   +13 -0     embperl/test/cmp/Attic/keepreq.htm
  
  
  
  
  1.1.2.1   +13 -0     embperl/test/cmp/Attic/keepreq.htm.2
  
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.1   +30 -0     embperl/test/html/Attic/keepreq.htm
  
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to