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...@apache.org on 2002/05/13 01:01:33 UTC

cvs commit: modperl-2.0/xs/tables/current/ModPerl FunctionTable.pm

dougm       02/05/12 16:01:33

  Modified:    lib/ModPerl Code.pm
               src/modules/perl modperl_cmd.c modperl_config.c
                        modperl_log.c modperl_log.h
               xs/tables/current/ModPerl FunctionTable.pm
  Log:
  get MP_TRACE working on win32
  
  Revision  Changes    Path
  1.79      +4 -6      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.78
  retrieving revision 1.79
  diff -u -r1.78 -r1.79
  --- Code.pm	23 Apr 2002 16:27:00 -0000	1.78
  +++ Code.pm	12 May 2002 23:01:32 -0000	1.79
  @@ -376,7 +376,7 @@
   
   EOF
               push @dumper,
  -              qq{fprintf(stderr, " $name %s\\n", \\
  +              qq{modperl_trace(NULL, " $name %s\\n", \\
                            ($flags(p) & $x) ? "On " : "Off");};
   
               $i += $i || 1;
  @@ -389,7 +389,7 @@
           shift @dumper; #NONE
           print $h_fh join ' \\'."\n", 
             "#define ${class}_dump_flags(p, str)",
  -                     qq{fprintf(stderr, "$class flags dump (%s):\\n", str);},
  +                     qq{modperl_trace(NULL, "$class flags dump (%s):\\n", str);},
                        @dumper;
       }
   
  @@ -428,8 +428,6 @@
       my $tl = "MP_debug_level";
   
       print $h_fh <<EOF;
  -extern U32 $tl;
  -
   #define MP_TRACE_OPTS "$opts"
   
   #ifdef MP_TRACE
  @@ -461,13 +459,13 @@
   #endif
   EOF
           push @dumper,
  -          qq{fprintf(stderr, " $type %s ($trace{$type})\\n", ($tl & $i) ? "On " : "Off");};
  +          qq{modperl_trace(NULL, " $type %s ($trace{$type})\\n", ($tl & $i) ? "On " : "Off");};
           $i += $i;
       }
   
       print $h_fh join ' \\'."\n", 
                        '#define MP_TRACE_dump_flags()',
  -                     qq{fprintf(stderr, "mod_perl trace flags dump:\\n");},
  +                     qq{modperl_trace(NULL, "mod_perl trace flags dump:\\n");},
                        @dumper;
   
       ();
  
  
  
  1.16      +1 -1      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.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- modperl_cmd.c	19 Nov 2001 00:07:28 -0000	1.15
  +++ modperl_cmd.c	12 May 2002 23:01:32 -0000	1.16
  @@ -32,7 +32,7 @@
   MP_CMD_SRV_DECLARE(trace)
   {
       MP_CMD_SRV_CHECK;
  -    modperl_trace_level_set(arg);
  +    modperl_trace_level_set(parms->server, arg);
       return NULL;
   }
   
  
  
  
  1.53      +2 -2      modperl-2.0/src/modules/perl/modperl_config.c
  
  Index: modperl_config.c
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_config.c,v
  retrieving revision 1.52
  retrieving revision 1.53
  diff -u -r1.52 -r1.53
  --- modperl_config.c	6 Jan 2002 20:45:36 -0000	1.52
  +++ modperl_config.c	12 May 2002 23:01:32 -0000	1.53
  @@ -140,9 +140,9 @@
   {
       int i;
       char **argv = (char **)scfg->argv->elts;
  -    fprintf(stderr, "modperl_config_srv_argv_init =>\n");
  +    modperl_trace(NULL, "modperl_config_srv_argv_init =>\n");
       for (i=0; i<scfg->argv->nelts; i++) {
  -        fprintf(stderr, "   %d = %s\n", i, argv[i]);
  +        modperl_trace(NULL, "   %d = %s\n", i, argv[i]);
       }
   }
   #endif
  
  
  
  1.6       +37 -14    modperl-2.0/src/modules/perl/modperl_log.c
  
  Index: modperl_log.c
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_log.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- modperl_log.c	21 Oct 2001 22:11:34 -0000	1.5
  +++ modperl_log.c	12 May 2002 23:01:32 -0000	1.6
  @@ -1,49 +1,72 @@
  -#include "mod_perl.h"
  +#include "modperl_apache_includes.h"
  +#include "apr_lib.h"
  +#include "modperl_trace.h"
  +#include "modperl_log.h"
   
   #undef getenv /* from XSUB.h */
   
  -U32 MP_debug_level = 0;
  +static apr_file_t *logfile = NULL;
  +
  +#ifdef WIN32
  +static unsigned long debug_level = 0;
  +#else
  +unsigned long MP_debug_level = 0;
  +#define debug_level MP_debug_level
  +#endif
  +
  +unsigned long modperl_debug_level(void)
  +{
  +    return debug_level;  
  +}
   
   void modperl_trace(char *func, const char *fmt, ...)
   {
  -#ifndef WIN32 /* XXX */
  +    char vstr[8192];
  +    apr_size_t vstr_len = 0;
       va_list args;
   
  +    if (!logfile) {
  +        return;
  +    }
  +
       if (func) {
  -        fprintf(stderr, "%s: ", func);
  +        apr_file_printf(logfile, "%s: ", func);
       }
   
       va_start(args, fmt);
  -    vfprintf(stderr, fmt, args);
  +    vstr_len = apr_vsnprintf(vstr, sizeof(vstr), fmt, args);
       va_end(args);
  -#endif
  +
  +    apr_file_write(logfile, vstr, &vstr_len);
   }
   
  -void modperl_trace_level_set(const char *level)
  +void modperl_trace_level_set(server_rec *s, const char *level)
   {
       if (!level) {
           if (!(level = getenv("MOD_PERL_TRACE"))) {
               return;
           }
       }
  -    MP_debug_level = 0x0;
  +    debug_level = 0x0;
   
  -    if (strEQ(level, "all")) {
  -        MP_debug_level = 0xffffffff;
  +    if (strcasecmp(level, "all") == 0) {
  +        debug_level = 0xffffffff;
       }
  -    else if (isALPHA(level[0])) {
  +    else if (apr_isalpha(level[0])) {
           static char debopts[] = MP_TRACE_OPTS;
           char *d;
   
           for (; *level && (d = strchr(debopts, *level)); level++) {
  -            MP_debug_level |= 1 << (d - debopts);
  +            debug_level |= 1 << (d - debopts);
           }
       }
       else {
  -        MP_debug_level = atoi(level);
  +        debug_level = atoi(level);
       }
   
  -    MP_debug_level |= 0x80000000;
  +    debug_level |= 0x80000000;
  +
  +    logfile = s->error_log; /* XXX */
   
       MP_TRACE_a_do(MP_TRACE_dump_flags());
   }
  
  
  
  1.8       +11 -3     modperl-2.0/src/modules/perl/modperl_log.h
  
  Index: modperl_log.h
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_log.h,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- modperl_log.h	13 Mar 2002 17:21:53 -0000	1.7
  +++ modperl_log.h	12 May 2002 23:01:32 -0000	1.8
  @@ -9,10 +9,10 @@
   #         define MP_FUNC __FUNCTION__
   #      endif
   #   else
  -#      define MP_FUNC "MP_FUNC"
  +#      define MP_FUNC NULL
   #   endif
   #else
  -#   define MP_FUNC "MP_FUNC"
  +#   define MP_FUNC NULL
   #endif
   
   #include "modperl_trace.h"
  @@ -26,9 +26,17 @@
   #define MP_TIDF \
   (unsigned long)modperl_thread_self()
   
  +unsigned long modperl_debug_level(void);
  +
  +#ifdef WIN32
  +#define MP_debug_level modperl_debug_level()
  +#else
  +extern unsigned long MP_debug_level;
  +#endif
  +
   void modperl_trace(char *func, const char *fmt, ...);
   
  -void modperl_trace_level_set(const char *level);
  +void modperl_trace_level_set(server_rec *s, const char *level);
   
   #define modperl_log_warn(s,msg) \
       ap_log_error(APLOG_MARK, APLOG_WARNING|APLOG_NOERRNO, 0, s, "%s", msg)
  
  
  
  1.62      +5 -0      modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm
  
  Index: FunctionTable.pm
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm,v
  retrieving revision 1.61
  retrieving revision 1.62
  diff -u -r1.61 -r1.62
  --- FunctionTable.pm	6 Apr 2002 00:40:00 -0000	1.61
  +++ FunctionTable.pm	12 May 2002 23:01:33 -0000	1.62
  @@ -1221,6 +1221,11 @@
       ]
     },
     {
  +    'return_type' => 'unsigned long',
  +    'name' => 'modperl_debug_level',
  +    'args' => []
  +  },
  +  {
       'return_type' => 'SV *',
       'name' => 'modperl_dir_config',
       'attr' => [