stas        2003/09/15 18:57:27

  Modified:    lib/ModPerl Code.pm
               src/modules/perl modperl_cmd.c modperl_mgv.c
  Log:
  We can't rely on the PARSED flag for fake mod_perl handlers (as
  PerlOptions +Autoload was trying to load them). Introducing a
  special flag FAKE especially for this new kind of handlers.
  
  Revision  Changes    Path
  1.105     +1 -1      modperl-2.0/lib/ModPerl/Code.pm
  
  Index: Code.pm
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/lib/ModPerl/Code.pm,v
  retrieving revision 1.104
  retrieving revision 1.105
  diff -u -u -r1.104 -r1.105
  --- Code.pm   20 Aug 2003 23:20:14 -0000      1.104
  +++ Code.pm   16 Sep 2003 01:57:27 -0000      1.105
  @@ -116,7 +116,7 @@
       Req => [qw(NONE SET_GLOBAL_REQUEST PARSE_HEADERS SETUP_ENV 
                  CLEANUP_REGISTERED)],
       Interp => [qw(NONE IN_USE PUTBACK CLONED BASE)],
  -    Handler => [qw(NONE PARSED METHOD OBJECT ANON AUTOLOAD DYNAMIC)],
  +    Handler => [qw(NONE PARSED METHOD OBJECT ANON AUTOLOAD DYNAMIC FAKE)],
   );
   
   $flags{DirSeen} = $flags{Dir};
  
  
  
  1.48      +4 -2      modperl-2.0/src/modules/perl/modperl_cmd.c
  
  Index: modperl_cmd.c
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_cmd.c,v
  retrieving revision 1.47
  retrieving revision 1.48
  diff -u -u -r1.47 -r1.48
  --- modperl_cmd.c     16 Apr 2003 03:03:35 -0000      1.47
  +++ modperl_cmd.c     16 Sep 2003 01:57:27 -0000      1.48
  @@ -36,8 +36,10 @@
   {
       modperl_handler_t *h = modperl_handler_new(p, name);
   
  -    /* we don't want this special handler to be parsed */
  -    MpHandlerPARSED_On(h);
  +    /* this is not a real mod_perl handler, we just re-use the
  +     * handlers structure to be able to mix mod_perl and non-mod_perl
  +     * filters */
  +    MpHandlerFAKE_On(h);
       h->attrs = MP_FILTER_HTTPD_HANDLER;
           
       if (!*handlers) {
  
  
  
  1.26      +4 -1      modperl-2.0/src/modules/perl/modperl_mgv.c
  
  Index: modperl_mgv.c
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_mgv.c,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -u -r1.25 -r1.26
  --- modperl_mgv.c     17 Apr 2003 08:04:47 -0000      1.25
  +++ modperl_mgv.c     16 Sep 2003 01:57:27 -0000      1.26
  @@ -388,7 +388,10 @@
       for (i=0; i < entry->nelts; i++) {
           modperl_handler_t *handler = handlers[i];
   
  -        if (MpHandlerPARSED(handler)) {
  +        if (MpHandlerFAKE(handler)) {
  +            /* do nothing with fake handlers */
  +        }
  +        else if (MpHandlerPARSED(handler)) {
   #ifdef USE_ITHREADS
               if ((MpSrvPARENT(scfg) && MpSrvAUTOLOAD(scfg))
                   && !modperl_mgv_lookup(aTHX_ handler->mgv_cv)) {
  
  
  

Reply via email to