richter     02/01/25 00:00:32

  Modified:    .        Tag: Embperl2c eppriv.h epprovider.c
  Log:
  add output object
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.12  +2 -2      embperl/Attic/eppriv.h
  
  Index: eppriv.h
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/eppriv.h,v
  retrieving revision 1.1.2.11
  retrieving revision 1.1.2.12
  diff -u -r1.1.2.11 -r1.1.2.12
  --- eppriv.h  25 Jan 2002 07:04:31 -0000      1.1.2.11
  +++ eppriv.h  25 Jan 2002 08:00:31 -0000      1.1.2.12
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: eppriv.h,v 1.1.2.11 2002/01/25 07:04:31 richter Exp $
  +#   $Id: eppriv.h,v 1.1.2.12 2002/01/25 08:00:31 richter Exp $
   #
   
###################################################################################*/
   
  @@ -211,7 +211,7 @@
   void embperl_DefaultComponentConfig (/*in*/ tComponentConfig  *pCfg) ;
   
   void Embperl__App_new_init(pTHX_ tApp * pApp, SV * pPerlParam, int overwrite) ;
  -void Embperl__App__Config_new_init(pTHX_ tApp * pAppConfig, SV * pPerlParam, int 
overwrite) ;
  +void Embperl__App__Config_new_init(pTHX_ tAppConfig * pAppConfig, SV * pPerlParam, 
int overwrite) ;
   void Embperl__Req_new_init (pTHX_ tReq * r, SV * pPerlParam, int overwrite) ;
   void Embperl__Req__Config_new_init (pTHX_ tReqConfig * r, SV * pPerlParam, int 
overwrite) ;
   void Embperl__Req__Param_new_init (pTHX_ tReqParam * r, SV * pPerlParam, int 
overwrite) ;
  
  
  
  1.1.2.26  +25 -4     embperl/Attic/epprovider.c
  
  Index: epprovider.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epprovider.c,v
  retrieving revision 1.1.2.25
  retrieving revision 1.1.2.26
  diff -u -r1.1.2.25 -r1.1.2.26
  --- epprovider.c      23 Jan 2002 15:09:00 -0000      1.1.2.25
  +++ epprovider.c      25 Jan 2002 08:00:31 -0000      1.1.2.26
  @@ -9,7 +9,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epprovider.c,v 1.1.2.25 2002/01/23 15:09:00 richter Exp $
  +#   $Id: epprovider.c,v 1.1.2.26 2002/01/25 08:00:31 richter Exp $
   #
   
###################################################################################*/
   
  @@ -639,7 +639,7 @@
       if (((tProviderMem *)pProvider) -> pSource)
           SvREFCNT_dec (((tProviderMem *)pProvider) -> pSource) ;
   
  -    ((tProviderMem *)pProvider) -> nLastModified  = GetHashValueUInt (r, pParam, 
"mtime", 0) ;
  +    ((tProviderMem *)pProvider) -> nLastModified  = GetHashValueUInt (r, pParam, 
"mtime", r -> Component.Param.nMtime) ;
       
       pSrc = GetHashValueSV     (r, pParam, "source") ;
       if (!pSrc)
  @@ -690,10 +690,16 @@
   
       {
       epTHX_
  +    r -> Component.sSourcefile = ep_pstrcat(r -> pPool, "MEM:", (char 
*)((tProviderMem *)pProvider) -> sName, NULL) ;
  +        
       if (!bUseCache)
           {
           ((tProviderMem *)pProvider) -> nLastModifiedWhileGet = ((tProviderMem 
*)pProvider) -> nLastModified ; 
           *pData = SvREFCNT_inc(((tProviderMem *)pProvider) -> pSource) ;
  +        SvREFCNT_inc (*pData) ;
  +        r -> Component.pBuf = SvPVX (*pData) ;
  +        r -> Component.pEndPos = r -> Component.pBuf + SvCUR(*pData) ;
  +        r -> Component.pCurrPos = r -> Component.pBuf ;
           }
       return ok ;
       }
  @@ -1055,6 +1061,8 @@
       char *              sMainSub ;
       } tProviderEpCompile ;
   
  +static int  nPackageCount = 1 ;
  +static perl_mutex PackageCountMutex ;
   
   /* ------------------------------------------------------------------------ */
   /*                                                                          */
  @@ -1105,14 +1113,24 @@
   
       if (sPackage = GetHashValueStrDupA (aTHX_ pParam, "package", r -> 
Component.Config.sPackage)) 
           {
  +        int n ;
  +        ep_acquire_mutex(PackageCountMutex) ;
  +        n = nPackageCount++ ;
  +        ep_release_mutex(PackageCountMutex) ;
           ((tProviderEpCompile *)(pItem -> pProvider)) -> sPackage = sPackage ;
  +        sMainSub = ((tProviderEpCompile *)(pItem -> pProvider)) -> sMainSub = 
malloc (40) ;
  +        sprintf (sMainSub, "_ep_main%d", n) ;
           }
       else
           {
  +        int n ;
  +        ep_acquire_mutex(PackageCountMutex) ;
  +        n = nPackageCount++ ;
  +        ep_release_mutex(PackageCountMutex) ;
           sPackage = ((tProviderEpCompile *)(pItem -> pProvider)) -> sPackage = 
malloc (sizeof (EMBPERL_PACKAGE_STR) + 32) ;
  -        sprintf (sPackage, EMBPERL_PACKAGE_STR"::__%d", r -> nRequestCount) ;
  +        sprintf (sPackage, EMBPERL_PACKAGE_STR"::__%d", n) ;
           sMainSub = ((tProviderEpCompile *)(pItem -> pProvider)) -> sMainSub = 
malloc (40) ;
  -        sprintf (sMainSub, "_ep_main%d", r -> nRequestCount) ;
  +        sprintf (sMainSub, "_ep_main%d", n) ;
           }
   
       return ok ;
  @@ -1924,6 +1942,9 @@
       Cache_AddProviderClass ("epcompile", &ProviderClassEpCompile) ;
       Cache_AddProviderClass ("eprun",     &ProviderClassEpRun) ;
       Cache_AddProviderClass ("eptostring",&ProviderClassEpToString) ;
  +
  +    ep_create_mutex(PackageCountMutex) ;
  +
   
       return ok ;
       }
  
  
  

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

Reply via email to