cvs commit: modperl-2.0/xs typemap

2002-05-23 Thread dougm

dougm   02/05/23 21:42:57

  Modified:xs   typemap
  Log:
  need to use modperl version of sv_setref_uv, since it doesn't exist in
  5.6.x
  
  Revision  ChangesPath
  1.8   +1 -1  modperl-2.0/xs/typemap
  
  Index: typemap
  ===
  RCS file: /home/cvs/modperl-2.0/xs/typemap,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- typemap   23 May 2002 22:19:34 -  1.7
  +++ typemap   24 May 2002 04:42:57 -  1.8
   -18,7 +18,7 
sv_setnv($arg, (NV)($var / APR_USEC_PER_SEC));
   
   T_UVOBJ
  - sv_setref_uv($arg, \${ntype}\, (UV)$var);
  + modperl_perl_sv_setref_uv(aTHX_ $arg, \${ntype}\, (UV)$var);
   
   ##
   INPUT
  
  
  



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

2002-05-23 Thread dougm

dougm   02/05/23 22:13:08

  Modified:xs/tables/current/ModPerl FunctionTable.pm
  Log:
  sync
  
  Revision  ChangesPath
  1.68  +26 -1 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.67
  retrieving revision 1.68
  diff -u -r1.67 -r1.68
  --- FunctionTable.pm  22 May 2002 16:30:40 -  1.67
  +++ FunctionTable.pm  24 May 2002 05:13:07 -  1.68
   -2,7 +2,7 
   
   # !!
   # ! WARNING: generated by ModPerl::ParseSource/0.01
  -# !  Wed May 22 09:10:46 2002
  +# !  Thu May 23 22:06:43 2002
   # !  do NOT edit, any changes will be lost !
   # !!
   
   -3171,6 +3171,31 
 {
   'type' = 'const char *',
   'name' = 'name'
  +  }
  +]
  +  },
  +  {
  +'return_type' = 'SV *',
  +'name' = 'modperl_perl_sv_setref_uv',
  +'attr' = [
  +  '__inline__'
  +],
  +'args' = [
  +  {
  +'type' = 'PerlInterpreter *',
  +'name' = 'my_perl'
  +  },
  +  {
  +'type' = 'SV *',
  +'name' = 'rv'
  +  },
  +  {
  +'type' = 'const char *',
  +'name' = 'classname'
  +  },
  +  {
  +'type' = 'UV',
  +'name' = 'uv'
 }
   ]
 },
  
  
  



cvs commit: modperl/lib/Apache Status.pm

2002-05-23 Thread dougm

dougm   02/05/23 09:00:59

  Modified:lib/Apache Status.pm
  Log:
  make it possible to configure the registry cache via
  Apache::Status-registry_cache(\%cache);
  
  Revision  ChangesPath
  1.25  +15 -2 modperl/lib/Apache/Status.pm
  
  Index: Status.pm
  ===
  RCS file: /home/cvs/modperl/lib/Apache/Status.pm,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- Status.pm 31 Mar 2000 18:19:48 -  1.24
  +++ Status.pm 23 May 2002 16:00:59 -  1.25
   -1,7 +1,7 
   package Apache::Status;
   use strict;
   
  -$Apache::Status::VERSION = '2.02';
  +$Apache::Status::VERSION = '2.03';
   
   my %is_installed = ();
   my $Is_Win32 = ($^O eq MSWin32);
   -180,13 +180,26 
   \@retval;
   }
   
  +my $RegistryCache;
  +
  +sub registry_cache {
  +my($self, $cache) = _;
  +
  +if ($cache) {
  +$RegistryCache = $cache;
  +}
  +
  +$RegistryCache || $Apache::Registry;
  +}
  +
   sub status_rgysubs {
   my($r,$q) = _;
   my(retval);
   local $_;
   my $uri = $r-uri;
  +my $cache = __PACKAGE__-registry_cache;
   push retval, bClick on package name to see its symbol table/bp\n;
  -foreach (sort keys %{$Apache::Registry}) {
  +foreach (sort keys %$cache) {
push retval, 
qq(a href=$uri?$_$_/a\n),
br;
  
  
  



cvs commit: modperl-2.0/xs/APR/OS APR__OS.h

2002-05-22 Thread dougm

dougm   02/05/22 09:30:14

  Added:   xs/APR/OS APR__OS.h
  Log:
  wrapper for apr_os_thread_current()
  
  Revision  ChangesPath
  1.1  modperl-2.0/xs/APR/OS/APR__OS.h
  
  Index: APR__OS.h
  ===
  static MP_INLINE apr_os_thread_t mpxs_apr_os_thread_current(pTHX)
  {
  #if APR_HAS_THREADS
  return apr_os_thread_current();
  #else
  return (void *)0;
  #endif
  }
  
  
  



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

2002-05-22 Thread dougm

dougm   02/05/22 09:30:40

  Modified:t/apr.cvsignore
   xs/maps  apr_functions.map apr_types.map
   xs/tables/current/ModPerl FunctionTable.pm
  Log:
  add APR::OS::thread_current function
  
  Revision  ChangesPath
  1.5   +1 -0  modperl-2.0/t/apr/.cvsignore
  
  Index: .cvsignore
  ===
  RCS file: /home/cvs/modperl-2.0/t/apr/.cvsignore,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- .cvsignore6 Mar 2002 05:24:57 -   1.4
  +++ .cvsignore22 May 2002 16:30:40 -  1.5
   -9,3 +9,4 
   table.t
   util.t
   uuid.t
  +os.t
  
  
  
  1.41  +25 -25modperl-2.0/xs/maps/apr_functions.map
  
  Index: apr_functions.map
  ===
  RCS file: /home/cvs/modperl-2.0/xs/maps/apr_functions.map,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -u -r1.40 -r1.41
  --- apr_functions.map 19 May 2002 23:59:52 -  1.40
  +++ apr_functions.map 22 May 2002 16:30:40 -  1.41
   -591,28 +591,28 
apr_xlate_get_sb
apr_xlate_open
   
  --MODULE=APR::OS
  - apr_os_dir_get
  - apr_os_exp_time_get
  - apr_os_file_get
  - apr_os_imp_time_get
  - apr_os_sock_get
  - apr_os_thread_get
  - apr_os_threadkey_get
  - apr_os_sock_make
  - apr_os_dir_put
  - apr_os_exp_time_put
  - apr_os_file_put
  - apr_os_imp_time_put
  - apr_os_sock_put
  - apr_os_thread_put
  - apr_os_threadkey_put
  - apr_os_dso_handle_get
  - apr_os_dso_handle_put
  - apr_os_thread_current
  - apr_os_thread_equal
  - apr_os_global_mutex_get
  - apr_os_proc_mutex_get
  - apr_os_proc_mutex_put
  - apr_os_shm_get
  - apr_os_shm_put
  +MODULE=APR::OS
  +-apr_os_dir_get
  +-apr_os_exp_time_get
  +-apr_os_file_get
  +-apr_os_imp_time_get
  +-apr_os_sock_get
  +-apr_os_thread_get
  +-apr_os_threadkey_get
  +-apr_os_sock_make
  +-apr_os_dir_put
  +-apr_os_exp_time_put
  +-apr_os_file_put
  +-apr_os_imp_time_put
  +-apr_os_sock_put
  +-apr_os_thread_put
  +-apr_os_threadkey_put
  +-apr_os_dso_handle_get
  +-apr_os_dso_handle_put
  + apr_os_thread_current | | mpxs_
  +-apr_os_thread_equal
  +-apr_os_global_mutex_get
  +-apr_os_proc_mutex_get
  +-apr_os_proc_mutex_put
  +-apr_os_shm_get
  +-apr_os_shm_put
  
  
  
  1.17  +1 -1  modperl-2.0/xs/maps/apr_types.map
  
  Index: apr_types.map
  ===
  RCS file: /home/cvs/modperl-2.0/xs/maps/apr_types.map,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- apr_types.map 19 May 2002 01:05:30 -  1.16
  +++ apr_types.map 22 May 2002 16:30:40 -  1.17
   -96,7 +96,7 
   #thread stuff
   struct apr_threadkey_t   | UNDEFINED
   struct apr_os_threadkey_t| UNDEFINED
  -struct apr_os_thread_t   | UNDEFINED
  +struct apr_os_thread_t   | PTR
   struct apr_thread_t  | UNDEFINED
   apr_thread_start_t   | UNDEFINED
   struct apr_threadattr_t  | UNDEFINED
  
  
  
  1.67  +15 -1 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.66
  retrieving revision 1.67
  diff -u -r1.66 -r1.67
  --- FunctionTable.pm  21 May 2002 02:50:16 -  1.66
  +++ FunctionTable.pm  22 May 2002 16:30:40 -  1.67
   -2,7 +2,7 
   
   # !!
   # ! WARNING: generated by ModPerl::ParseSource/0.01
  -# !  Mon May 20 19:15:12 2002
  +# !  Wed May 22 09:10:46 2002
   # !  do NOT edit, any changes will be lost !
   # !!
   
   -5195,6 +5195,20 
 {
   'type' = 'const char *',
   'name' = 'mask_or_numbits'
  +  }
  +]
  +  },
  +  {
  +'return_type' = 'apr_os_thread_t',
  +'name' = 'mpxs_apr_os_thread_current',
  +'attr' = [
  +  'static',
  +  '__inline__'
  +],
  +'args' = [
  +  {
  +'type' = 'PerlInterpreter *',
  +'name' = 'my_perl'
 }
   ]
 },
  
  
  



cvs commit: modperl-2.0/t/response/TestAPR os.pm

2002-05-22 Thread dougm

dougm   02/05/22 09:31:05

  Added:   t/response/TestAPR os.pm
  Log:
  add test for APR::OS::thread_current
  
  Revision  ChangesPath
  1.1  modperl-2.0/t/response/TestAPR/os.pm
  
  Index: os.pm
  ===
  package TestAPR::os;
  
  use strict;
  use warnings FATAL = 'all';
  
  use Apache::Test;
  use Apache::TestUtil;
  
  use APR::OS ();
  
  use Apache::Const -compile = 'OK';
  
  sub handler {
  my $r = shift;
  
  plan $r, tests = 1;
  
  my $id = APR::OS::thread_current() || $$;
  
  ok t_cmp($id, $id, current thread id or process id);
  
  Apache::OK;
  }
  
  1;
  
  
  



cvs commit: modperl-2.0/lib/Apache Build.pm

2002-05-22 Thread dougm

dougm   02/05/22 19:35:19

  Modified:.Makefile.PL
   lib/Apache Build.pm
  Log:
  on hpux with bleedperl $Config{ld} is the fullpath, strip to the basename
  
  Revision  ChangesPath
  1.84  +2 -1  modperl-2.0/Makefile.PL
  
  Index: Makefile.PL
  ===
  RCS file: /home/cvs/modperl-2.0/Makefile.PL,v
  retrieving revision 1.83
  retrieving revision 1.84
  diff -u -r1.83 -r1.84
  --- Makefile.PL   22 May 2002 02:07:08 -  1.83
  +++ Makefile.PL   23 May 2002 02:35:19 -  1.84
   -344,8 +344,9 
   
   sub os_check_hpux {
   my $ccflags = $build-perl_config('ccflags');
  +my $ld = $build-perl_config('ld');
   
  -if ($build-is_dynamic and $Config{ld} eq 'ld') {
  +if ($build-is_dynamic and $ld eq 'ld') {
   unless ($ccflags =~ /\+z/i) {
   $build-phat_warn(EOF);
   mod_perl is unlikely to link with your libperl, suggestions:
  
  
  
  1.92  +11 -1 modperl-2.0/lib/Apache/Build.pm
  
  Index: Build.pm
  ===
  RCS file: /home/cvs/modperl-2.0/lib/Apache/Build.pm,v
  retrieving revision 1.91
  retrieving revision 1.92
  diff -u -r1.91 -r1.92
  --- Build.pm  22 May 2002 01:58:59 -  1.91
  +++ Build.pm  23 May 2002 02:35:19 -  1.92
   -172,7 +172,9 
   my $ldopts = ExtUtils::Embed::ldopts();
   chomp $ldopts;
   
  -if ($^O eq 'hpux' and $Config{ld} eq 'ld') {
  +my $ld = $self-perl_config('ld');
  +
  +if ($^O eq 'hpux' and $ld eq 'ld') {
   while ($ldopts =~ s/-Wl,(\S+)/$1/) {
   my $cp = $1;
   (my $repl = $cp) =~ s/,/ /g;
   -275,6 +277,14 
   }
   
   $val;
  +}
  +
  +sub perl_config_ld {
  +my($self, $val) = _;
  +
  +$val ||= $Config{ld};
  +
  +basename $val; #bleedperl hpux value is /usr/bin/ld !
   }
   
   sub perl_config_lddlflags {
  
  
  



cvs commit: modperl-2.0/lib/Apache compat.pm

2002-05-22 Thread dougm

dougm   02/05/22 20:10:18

  Modified:lib/Apache compat.pm
  Log:
  add noop stubs for timeout functions removed from 2.0:
  $r-{soft,hard,reset,kill}_timeout
  
  Revision  ChangesPath
  1.46  +6 -0  modperl-2.0/lib/Apache/compat.pm
  
  Index: compat.pm
  ===
  RCS file: /home/cvs/modperl-2.0/lib/Apache/compat.pm,v
  retrieving revision 1.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- compat.pm 19 May 2002 11:41:53 -  1.45
  +++ compat.pm 23 May 2002 03:10:18 -  1.46
   -91,6 +91,12 
   
   package Apache::RequestRec;
   
  +#no longer exist in 2.0
  +sub soft_timeout {}
  +sub hard_timeout {}
  +sub kill_timeout {}
  +sub reset_timeout {}
  +
   #to support $r-server_root_relative
   *server_root_relative = \Apache::server_root_relative;
   
  
  
  



cvs commit: modperl-2.0/src/modules/perl modperl_callback.c

2002-05-22 Thread dougm

dougm   02/05/22 22:55:35

  Modified:src/modules/perl modperl_callback.c
  Log:
  prevent possible segv with method handlers?
  
  Revision  ChangesPath
  1.50  +6 -1  modperl-2.0/src/modules/perl/modperl_callback.c
  
  Index: modperl_callback.c
  ===
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_callback.c,v
  retrieving revision 1.49
  retrieving revision 1.50
  diff -u -r1.49 -r1.50
  --- modperl_callback.c18 May 2002 01:07:16 -  1.49
  +++ modperl_callback.c23 May 2002 05:55:35 -  1.50
   -16,7 +16,12 
   PUSHMARK(SP);
   
   if (MpHandlerMETHOD(handler)) {
  -GV *gv = modperl_mgv_lookup(aTHX_ handler-mgv_obj);
  +GV *gv;
  +if (!handler-mgv_obj) {
  +Perl_croak(aTHX_ panic: %s method handler object is NULL!,
  +   handler-name);
  +}
  +gv = modperl_mgv_lookup(aTHX_ handler-mgv_obj);
   XPUSHs(modperl_mgv_sv(gv));
   }
   
  
  
  



cvs commit: modperl/lib/Apache ExtUtils.pm

2002-05-22 Thread dougm

dougm   02/05/22 19:44:40

  Modified:.Makefile.PL
   lib/Apache ExtUtils.pm
  Log:
  on hpux with bleedperl $Config{ld} is the fullpath, strip to the basename
  
  Revision  ChangesPath
  1.200 +4 -2  modperl/Makefile.PL
  
  Index: Makefile.PL
  ===
  RCS file: /home/cvs/modperl/Makefile.PL,v
  retrieving revision 1.199
  retrieving revision 1.200
  diff -u -r1.199 -r1.200
  --- Makefile.PL   24 Mar 2002 19:06:03 -  1.199
  +++ Makefile.PL   23 May 2002 02:44:40 -  1.200
   -19,7 +19,7 
   use FileHandle ();
   use DirHandle ();
   use File::Compare ();
  -use File::Basename qw(dirname);
  +use File::Basename qw(dirname basename);
   use File::Path qw(mkpath rmtree);
   use Cwd;
   use File::Copy qw(cp);
   -2398,7 +2398,9 
}
   }
   
  -if ($^O eq 'hpux' and ($USE_DSO or $USE_APXS) and $Config{ld} eq 'ld') {
  +my $ld = basename $Config{ld};
  +
  +if ($^O eq 'hpux' and ($USE_DSO or $USE_APXS) and $ld eq 'ld') {
   unless ($ccflags =~ /\+z/i) {
   my $switch = $] = 5.006 ? 'A' : 'D';
   phat_warn(EOF);
  
  
  
  1.25  +2 -0  modperl/lib/Apache/ExtUtils.pm
  
  Index: ExtUtils.pm
  ===
  RCS file: /home/cvs/modperl/lib/Apache/ExtUtils.pm,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- ExtUtils.pm   24 Mar 2002 19:06:03 -  1.24
  +++ ExtUtils.pm   23 May 2002 02:44:40 -  1.25
   -4,6 +4,7 
   use Exporter ();
   use IO::File ();
   use File::Copy ();
  +use File::Basename qw(basename);
   
   $Apache::ExtUtils::VERSION = '1.04';
   
   -35,6 +36,7 
   sub Config_pm_fixup {
   eval { require Apache::MyConfig; };
   my %config_fixups = (
  +   ld = sub { s/(.*)/basename $1/e },
  ccdlflags = sub { s/-R\s+/-R/; },
  ccflags = sub {
  s/-D_GNU_SOURCE//;
  
  
  



cvs commit: modperl Changes Makefile.PL

2002-05-22 Thread dougm

dougm   02/05/22 19:52:15

  Modified:.Changes Makefile.PL
  Log:
  autoset PERL_USELARGEFILES=0 if needed
  
  Revision  ChangesPath
  1.642 +2 -0  modperl/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.641
  retrieving revision 1.642
  diff -u -r1.641 -r1.642
  --- Changes   16 Apr 2002 02:43:55 -  1.641
  +++ Changes   23 May 2002 02:52:15 -  1.642
   -10,6 +10,8 
   
   =item 1.26_01-dev
   
  +autoset PERL_USELARGEFILES=0 if needed
  +
   fix taint issues with bleedperl
   
   fix bug in modules/util test
  
  
  
  1.201 +10 -7 modperl/Makefile.PL
  
  Index: Makefile.PL
  ===
  RCS file: /home/cvs/modperl/Makefile.PL,v
  retrieving revision 1.200
  retrieving revision 1.201
  diff -u -r1.200 -r1.201
  --- Makefile.PL   23 May 2002 02:44:40 -  1.200
  +++ Makefile.PL   23 May 2002 02:52:15 -  1.201
   -382,13 +382,6 
   $PERL_EXTRA_CFLAGS .=  -DPERL_SAFE_STARTUP=1;
   }
   
  -if ($PERL_USELARGEFILES and $] = 5.006) {
  -$PERL_EXTRA_CFLAGS .=  $Config{ccflags};
  -}
  -
  -# apache-1.3.xx won't compile with -D_GNU_SOURCE
  -$PERL_EXTRA_CFLAGS =~ s/-D_GNU_SOURCE//;
  -
   for (keys %PassEnv) {
   $ENV{$_} = $$_ if $$_;
   }
   -430,6 +423,13 
   
   system_sanity_check();
   
  +if ($PERL_USELARGEFILES and $] = 5.006) {
  +$PERL_EXTRA_CFLAGS .=  $Config{ccflags};
  +}
  +
  +# apache-1.3.xx won't compile with -D_GNU_SOURCE
  +$PERL_EXTRA_CFLAGS =~ s/-D_GNU_SOURCE//;
  +
   if ($USE_APACI) {
   print Will configure via APACI;
   if($USE_DSO) {
   -2459,6 +2459,9 
   local $Apache::src::APXS = $WITH_APXS;
   my $cflags = Apache::src-new-apxs('-q' = 'CFLAGS') || '';
   return if $cflags =~ /LARGEFILE/;
  +
  +$PERL_USELARGEFILES=0; #just do it since
  +return; #nobody seems to listen to the warning below
   
   phat_warn(EOF);
   Your Perl is uselargefiles enabled, but Apache is not, suggestions:
  
  
  



cvs commit: modperl/t/docs startup.pl

2002-05-22 Thread dougm

dougm   02/05/22 20:07:28

  Modified:.Changes
   src/modules/perl mod_perl.h
   t/docs   startup.pl
  Log:
  make sure DynaLoader is loaded before XSLoader to workaround possible
  segv when using mod_perl as a dso with perl 5.6.1
  
  Revision  ChangesPath
  1.643 +3 -0  modperl/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.642
  retrieving revision 1.643
  diff -u -r1.642 -r1.643
  --- Changes   23 May 2002 02:52:15 -  1.642
  +++ Changes   23 May 2002 03:07:27 -  1.643
   -10,6 +10,9 
   
   =item 1.26_01-dev
   
  +make sure DynaLoader is loaded before XSLoader to workaround possible
  +segv when using mod_perl as a dso with perl 5.6.1
  +
   autoset PERL_USELARGEFILES=0 if needed
   
   fix taint issues with bleedperl
  
  
  
  1.114 +1 -0  modperl/src/modules/perl/mod_perl.h
  
  Index: mod_perl.h
  ===
  RCS file: /home/cvs/modperl/src/modules/perl/mod_perl.h,v
  retrieving revision 1.113
  retrieving revision 1.114
  diff -u -r1.113 -r1.114
  --- mod_perl.h24 Mar 2002 23:01:33 -  1.113
  +++ mod_perl.h23 May 2002 03:07:27 -  1.114
   -1192,6 +1192,7 
   /* perl_config.c */
   
   #define require_Apache(s) \
  +perl_require_module(DynaLoader, s); \
   perl_require_module(Apache, s)
   
   char *mod_perl_auth_name(request_rec *r, char *val);
  
  
  
  1.44  +1 -0  modperl/t/docs/startup.pl
  
  Index: startup.pl
  ===
  RCS file: /home/cvs/modperl/t/docs/startup.pl,v
  retrieving revision 1.43
  retrieving revision 1.44
  diff -u -r1.43 -r1.44
  --- startup.pl15 May 2002 18:01:21 -  1.43
  +++ startup.pl23 May 2002 03:07:27 -  1.44
   -25,6 +25,7 
   }; $@='' if $;
   }
   
  +use Socket (); #test DynaLoader vs. XSLoader workaroud
   use Apache ();
   use Apache::Registry ();
   unless ($INC{'Apache.pm'} =~ /blib/) {
  
  
  



cvs commit: modperl/apaci mod_perl.config.sh

2002-05-22 Thread dougm

dougm   02/05/22 20:30:21

  Modified:apacimod_perl.config.sh
  Log:
  another bleedperl/hpux/ld hack
  
  Revision  ChangesPath
  1.26  +1 -1  modperl/apaci/mod_perl.config.sh
  
  Index: mod_perl.config.sh
  ===
  RCS file: /home/cvs/modperl/apaci/mod_perl.config.sh,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- mod_perl.config.sh6 Jul 2001 20:08:36 -   1.25
  +++ mod_perl.config.sh23 May 2002 03:30:21 -  1.26
   -145,7 +145,7 
   $ldopts =~ s,(-bE:)(perl\.exp),$1$Config{archlibexp}/CORE/$2, if($^O eq aix);
   
   #replace -Wl args meant for cc with args for ld
  -if ($ARGV[0] eq DSO and $^O eq hpux and $Config{ld} eq ld) {
  +if ($ARGV[0] eq DSO and $^O eq hpux and $Config{ld} =~ /ld$/) {
   while ($ldopts =~ s/-Wl,(\S+)/$1/) {
my $cp = $1;
(my $repl = $cp) =~ s/,/ /g;
  
  
  



cvs commit: modperl Changes Makefile.PL STATUS

2002-05-22 Thread dougm

dougm   02/05/22 20:38:39

  Modified:.Changes Makefile.PL STATUS
  Log:
  Submitted by: Randy Kobes [EMAIL PROTECTED]
  Reviewed by:  dougm
  fix Win32 build problems with spaces in shell arguments
  
  Revision  ChangesPath
  1.644 +3 -0  modperl/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.643
  retrieving revision 1.644
  diff -u -r1.643 -r1.644
  --- Changes   23 May 2002 03:07:27 -  1.643
  +++ Changes   23 May 2002 03:38:39 -  1.644
  @@ -10,6 +10,9 @@
   
   =item 1.26_01-dev
   
  +fix Win32 build problems with spaces in shell arguments
  +[Randy Kobes [EMAIL PROTECTED]]
  +
   make sure DynaLoader is loaded before XSLoader to workaround possible
   segv when using mod_perl as a dso with perl 5.6.1
   
  
  
  
  1.202 +1 -1  modperl/Makefile.PL
  
  Index: Makefile.PL
  ===
  RCS file: /home/cvs/modperl/Makefile.PL,v
  retrieving revision 1.201
  retrieving revision 1.202
  diff -u -r1.201 -r1.202
  --- Makefile.PL   23 May 2002 02:52:15 -  1.201
  +++ Makefile.PL   23 May 2002 03:38:39 -  1.202
  @@ -1104,7 +1104,7 @@
   cp lib/mod_perl_hooks.pm.PL, lib/mod_perl_hooks.pm; 
   
   if ($Is_Win32) {
  -  my @args = ($^X, '-spi.bak ', ' -e ', \s/sub mod_perl::hooks.*/sub 
mod_perl::hooks { qw($hooks) }/\, 'lib/mod_perl_hooks.pm');
  +  my @args = ($^X, '-spi.bak', '-e', \s/sub mod_perl::hooks.*/sub 
mod_perl::hooks { qw($hooks) }/\, 'lib/mod_perl_hooks.pm');
 system(@args) == 0 or die @args failed\n;
   }
   iedit lib/mod_perl_hooks.pm, 
  
  
  
  1.19  +1 -7  modperl/STATUS
  
  Index: STATUS
  ===
  RCS file: /home/cvs/modperl/STATUS,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- STATUS14 May 2002 18:05:34 -  1.18
  +++ STATUS23 May 2002 03:38:39 -  1.19
  @@ -1,5 +1,5 @@
   mod_perl 1.3 STATUS:
  -   Last modified at [$Date: 2002/05/14 18:05:34 $]
  +   Last modified at [$Date: 2002/05/23 03:38:39 $]
   
   
   Release:
  @@ -9,12 +9,6 @@
  
   
   Available Patches:
  -
  -* Win32 build problems with spaces in shell arguments
  -Report: http://marc.theaimsgroup.com/?l=apache-modperlm=101681938513575w=2
  - Status: 
  -  patch available at
  -  http://marc.theaimsgroup.com/?l=apache-modperlm=101729204503165w=2
   
   * implement notes('error-notes') in Registry a la mod_cgo
   Report: http://marc.theaimsgroup.com/?l=apache-modperlm=101862462900504w=2
  
  
  



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

2002-05-22 Thread dougm

dougm   02/05/22 21:03:46

  Modified:src/modules/perl mod_perl.c mod_perl.h
  Log:
  better fix for DynaLoader vs XSLoader workaround
  
  Revision  ChangesPath
  1.144 +23 -1 modperl/src/modules/perl/mod_perl.c
  
  Index: mod_perl.c
  ===
  RCS file: /home/cvs/modperl/src/modules/perl/mod_perl.c,v
  retrieving revision 1.143
  retrieving revision 1.144
  diff -u -r1.143 -r1.144
  --- mod_perl.c24 Mar 2002 23:01:33 -  1.143
  +++ mod_perl.c23 May 2002 04:03:46 -  1.144
   -569,6 +569,28 
   perl_startup(s, p);
   }
   
  +static void mod_perl_boot(void *data)
  +{
  +/* make sure DynaLoader is loaded before XSLoader
  + * to workaround bug in 5.6.1 that can trigger a segv
  + * when using modperl as a dso
  + */
  +perl_require_module(DynaLoader, NULL);
  +}
  +
  +static void mod_perl_xs_init(void)
  +{
  +xs_init();
  +
  +/* XXX: in 5.7.2+ we can call the body of mod_perl_boot here
  + * but in 5.6.1 the Perl runtime is not properly setup yet
  + * so we have to pull this stunt to delay
  + */
  +#ifdef SAVEDESTRUCTOR_X
  +SAVEDESTRUCTOR_X(mod_perl_boot, 0);
  +#endif
  +}
  +
   void perl_startup (server_rec *s, pool *p)
   {
   char *argv[] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL };
   -677,7 +699,7 
   MP_TRACE_g(fprintf(stderr, constructing perl interpreter...ok\n));
   perl_construct(perl);
   
  -status = perl_parse(perl, xs_init, argc, argv, NULL);
  +status = perl_parse(perl, mod_perl_xs_init, argc, argv, NULL);
   if (status != OK) {
MP_TRACE_g(fprintf(stderr,not ok, status=%d\n, status));
perror(parse);
  
  
  
  1.115 +0 -1  modperl/src/modules/perl/mod_perl.h
  
  Index: mod_perl.h
  ===
  RCS file: /home/cvs/modperl/src/modules/perl/mod_perl.h,v
  retrieving revision 1.114
  retrieving revision 1.115
  diff -u -r1.114 -r1.115
  --- mod_perl.h23 May 2002 03:07:27 -  1.114
  +++ mod_perl.h23 May 2002 04:03:46 -  1.115
   -1192,7 +1192,6 
   /* perl_config.c */
   
   #define require_Apache(s) \
  -perl_require_module(DynaLoader, s); \
   perl_require_module(Apache, s)
   
   char *mod_perl_auth_name(request_rec *r, char *val);
  
  
  



cvs commit: modperl/t/net/perl server_error.pl

2002-05-22 Thread dougm

dougm   02/05/22 21:21:07

  Modified:.Changes STATUS
   lib/Apache Registry.pm
   t/net/perl server_error.pl
  Log:
  Submitted by: Jesse Erlbaum [EMAIL PROTECTED]
  Reviewed by:  dougm
  Apache::Registry errors are now saved in $r-notes('error-notes')
  
  Revision  ChangesPath
  1.645 +3 -0  modperl/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.644
  retrieving revision 1.645
  diff -u -r1.644 -r1.645
  --- Changes   23 May 2002 03:38:39 -  1.644
  +++ Changes   23 May 2002 04:21:06 -  1.645
  @@ -10,6 +10,9 @@
   
   =item 1.26_01-dev
   
  +Apache::Registry errors are now saved in $r-notes('error-notes')
  +[Jesse Erlbaum [EMAIL PROTECTED]]
  +
   fix Win32 build problems with spaces in shell arguments
   [Randy Kobes [EMAIL PROTECTED]]
   
  
  
  
  1.20  +1 -10 modperl/STATUS
  
  Index: STATUS
  ===
  RCS file: /home/cvs/modperl/STATUS,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- STATUS23 May 2002 03:38:39 -  1.19
  +++ STATUS23 May 2002 04:21:06 -  1.20
  @@ -1,5 +1,5 @@
   mod_perl 1.3 STATUS:
  -   Last modified at [$Date: 2002/05/23 03:38:39 $]
  +   Last modified at [$Date: 2002/05/23 04:21:06 $]
   
   
   Release:
  @@ -9,15 +9,6 @@
  
   
   Available Patches:
  -
  -* implement notes('error-notes') in Registry a la mod_cgo
  -Report: http://marc.theaimsgroup.com/?l=apache-modperlm=101862462900504w=2
  - Status: 
  -  I haven't had the chance to investigate this thoroughly, but 
  -  mod_perl does seem to be setting error-notes for some things.  maybe
  -  just not enough things or Registry specific things? --Geoff
  -  patch available at
  -  http://marc.theaimsgroup.com/?l=apache-modperlm=101862462900504w=2
   
   * Apache::Status allows standard keys to be overridden
   Report: http://marc.theaimsgroup.com/?l=apache-modperlm=101559176217056w=2
  
  
  
  1.34  +10 -4 modperl/lib/Apache/Registry.pm
  
  Index: Registry.pm
  ===
  RCS file: /home/cvs/modperl/lib/Apache/Registry.pm,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- Registry.pm   28 Sep 2000 16:35:53 -  1.33
  +++ Registry.pm   23 May 2002 04:21:07 -  1.34
  @@ -24,6 +24,13 @@
   $Apache::Registry::MarkLine = 1;
   }
   
  +sub xlog_error {
  +my($r, $msg) = @_;
  +$r-log_error($msg);
  +$r-notes('error-notes', $msg);
  +$@{$r-uri} = $msg;
  +}
  +
   sub handler {
   my $r = shift;
   if(ref $r) {
  @@ -127,8 +134,7 @@
compile($eval);
$r-stash_rgy_endav($script_name);
if ($@) {
  - $r-log_error($@);
  - $@{$uri} = $@;
  + xlog_error($r, $@);
return SERVER_ERROR unless $Debug  $Debug  2;
return Apache::Debug::dump($r, SERVER_ERROR);
}
  @@ -152,7 +158,7 @@
}
   
if($errsv) {
  - $r-log_error($errsv);
  + xlog_error($r, $errsv);
return SERVER_ERROR unless $Debug  $Debug  2;
return Apache::Debug::dump($r, SERVER_ERROR);
}
  @@ -165,7 +171,7 @@
   #}
return $r-status($old_status);
   } else {
  -$r-log_error($filename not found or unable to stat);
  +xlog_error($r, $filename not found or unable to stat);
return NOT_FOUND unless $Debug  $Debug  2;
return Apache::Debug::dump($r, NOT_FOUND);
   }
  
  
  
  1.2   +11 -2 modperl/t/net/perl/server_error.pl
  
  Index: server_error.pl
  ===
  RCS file: /home/cvs/modperl/t/net/perl/server_error.pl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- server_error.pl   19 Mar 1998 23:09:06 -  1.1
  +++ server_error.pl   23 May 2002 04:21:07 -  1.2
  @@ -2,9 +2,18 @@
   
   $r-send_http_header(text/plain);
   
  -print ServerError:\n;
  +my $err = $@{$r-prev-uri};
   
  -print $@{$r-prev-uri};
  +my $note = $r-prev-notes('error-notes') || 'NONE';
  +
  +print ServerError: $err\n;
  +
  +if ($note eq $err) {
  +print error-notes is also set;
  +}
  +else {
  +print error-notes is different: $note;
  +}
   
   print \n;
   print 'dump of %@:', \n;
  
  
  



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

2002-05-22 Thread dougm

dougm   02/05/22 21:35:16

  Modified:src/modules/perl mod_perl.c mod_perl.h
  Log:
  fix fix to compile with ithreads
  
  Revision  ChangesPath
  1.145 +2 -2  modperl/src/modules/perl/mod_perl.c
  
  Index: mod_perl.c
  ===
  RCS file: /home/cvs/modperl/src/modules/perl/mod_perl.c,v
  retrieving revision 1.144
  retrieving revision 1.145
  diff -u -r1.144 -r1.145
  --- mod_perl.c23 May 2002 04:03:46 -  1.144
  +++ mod_perl.c23 May 2002 04:35:16 -  1.145
   -578,9 +578,9 
   perl_require_module(DynaLoader, NULL);
   }
   
  -static void mod_perl_xs_init(void)
  +static void mod_perl_xs_init(pTHX)
   {
  -xs_init();
  +xs_init(aTHX);
   
   /* XXX: in 5.7.2+ we can call the body of mod_perl_boot here
* but in 5.6.1 the Perl runtime is not properly setup yet
  
  
  
  1.116 +2 -0  modperl/src/modules/perl/mod_perl.h
  
  Index: mod_perl.h
  ===
  RCS file: /home/cvs/modperl/src/modules/perl/mod_perl.h,v
  retrieving revision 1.115
  retrieving revision 1.116
  diff -u -r1.115 -r1.116
  --- mod_perl.h23 May 2002 04:03:46 -  1.115
  +++ mod_perl.h23 May 2002 04:35:16 -  1.116
   -168,6 +168,8 
   #ifndef PERL_IS_5_6
   #define pTHX_
   #define aTHXo_
  +#define aTHX
  +#define pTHX
   #define CopFILEGV(cop) cop-cop_filegv
   #define CopLINE(cop)   cop-cop_line
   #define CopLINE_set(c,l) (CopLINE(c) = (l))
  
  
  



cvs commit: modperl-2.0/lib/ModPerl BuildOptions.pm

2002-05-21 Thread dougm

dougm   02/05/21 09:48:29

  Modified:lib/Apache Build.pm
   lib/ModPerl BuildOptions.pm
  Log:
  allow MP_AP_PREFIX to be a source tree directory
  
  Revision  ChangesPath
  1.87  +10 -9 modperl-2.0/lib/Apache/Build.pm
  
  Index: Build.pm
  ===
  RCS file: /home/cvs/modperl-2.0/lib/Apache/Build.pm,v
  retrieving revision 1.86
  retrieving revision 1.87
  diff -u -r1.86 -r1.87
  --- Build.pm  21 May 2002 16:19:51 -  1.86
  +++ Build.pm  21 May 2002 16:48:29 -  1.87
   -65,10 +65,6 
   return include/ directory not found in $prefix;
   }
   
  -if (-e $prefix/CHANGES) {
  -return $prefix is a build directory (need an install directory);
  -}
  -
   return '';
   }
   
   -556,7 +552,7 
   
   return $self-{dir} if $self-{dir};
   
  -if(IS_MOD_PERL_BUILD) {
  +if (IS_MOD_PERL_BUILD) {
   my $build = $self-build_config;
   
   if ($dir = $build-{'dir'}) {
   -566,6 +562,8 
   }
   }
   
  +$dir ||= $self-{MP_AP_PREFIX};
  +
   # we not longer install Apache headers, so dont bother looking in INC
   # might end up finding 1.x headers anyhow
   #unless ($dir and -d $dir) {
   -1051,10 +1049,13 
   
   push inc, $self-mp_include_dir;
   
  -my $ainc = $self-apxs('-q' = 'INCLUDEDIR');
  -if (-d $ainc) {
  -push inc, $ainc;
  -return \@inc;
  +my $prefix = $self-{MP_AP_PREFIX};
  +if (-d $prefix and not -e $prefix/CHANGES) {
  +my $ainc = $self-apxs('-q' = 'INCLUDEDIR');
  +if (-d $ainc) {
  +push inc, $ainc;
  +return \@inc;
  +}
   }
   
   for ($src/modules/perl, $src/include,
  
  
  
  1.16  +1 -1  modperl-2.0/lib/ModPerl/BuildOptions.pm
  
  Index: BuildOptions.pm
  ===
  RCS file: /home/cvs/modperl-2.0/lib/ModPerl/BuildOptions.pm,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- BuildOptions.pm   21 May 2002 16:19:51 -  1.15
  +++ BuildOptions.pm   21 May 2002 16:48:29 -  1.16
   -164,7 +164,7 
   OPTIONS_FILE Read options from given file
   STATIC_EXTS  Build Apache::*.xs as static extensions
   APXSPath to apxs
  -AP_PREFIXApache installation prefix
  +AP_PREFIXApache installation or source tree prefix
   XS_GLUE_DIR Directories containing extension glue
   INCLUDE_DIR Add directories to search for header files
   GENERATE_XS Generate XS code based on httpd version
  
  
  



cvs commit: modperl-2.0/lib/Apache Build.pm

2002-05-21 Thread dougm

dougm   02/05/21 09:49:53

  Modified:lib/Apache Build.pm
  Log:
  dont bother looking for the ssl includes, we dont use them
  
  Revision  ChangesPath
  1.88  +0 -7  modperl-2.0/lib/Apache/Build.pm
  
  Index: Build.pm
  ===
  RCS file: /home/cvs/modperl-2.0/lib/Apache/Build.pm,v
  retrieving revision 1.87
  retrieving revision 1.88
  diff -u -r1.87 -r1.88
  --- Build.pm  21 May 2002 16:48:29 -  1.87
  +++ Build.pm  21 May 2002 16:49:53 -  1.88
   -1066,13 +1066,6 
 push inc, $_ if -d $_;
 }
   
  -my $ssl_dir = $src/../ssl/include;
  -unless (-d $ssl_dir) {
  -my $build = $self-build_config;
  -$ssl_dir = join '/', $self-{MP_SSL_BASE} || '', 'include';
  -}
  -push inc, $ssl_dir if -d $ssl_dir;
  -
   return \@inc;
   }
   
  
  
  



cvs commit: modperl-2.0/lib/Apache Build.pm

2002-05-21 Thread dougm

dougm   02/05/21 18:59:00

  Modified:.Makefile.PL
   lib/Apache Build.pm
  Log:
  make it possible to change the name of src/modules/perl/Makefile
  in case static build requires a src/modules/perl/Makefile.in
  
  Revision  ChangesPath
  1.82  +12 -8 modperl-2.0/Makefile.PL
  
  Index: Makefile.PL
  ===
  RCS file: /home/cvs/modperl-2.0/Makefile.PL,v
  retrieving revision 1.81
  retrieving revision 1.82
  diff -u -r1.81 -r1.82
  --- Makefile.PL   21 May 2002 16:19:51 -  1.81
  +++ Makefile.PL   22 May 2002 01:58:59 -  1.82
   -23,6 +23,7 
   use File::Spec::Functions;
   use DirHandle ();
   use File::Copy 'cp';
  +use File::Basename 'basename';
   
   use Apache::Build ();
   use Apache::TestReportPerl ();
   -70,11 +71,14 
   VERSION = $VERSION,
   DIR = get_dirs_with_makefile(remote_makefile_dirs),
   macro = {
  -MODPERL_SRC   = $code-path,
  -PERL  = $build-perl_config('perlpath'),
  -MOD_INSTALL   = ModPerl::MM::mod_install(),
  -APACHE_PREFIX = $build-apxs('-q' = 'prefix'),
  -APACHE_LIBDIR = $build-apxs('-q' = 'libexecdir'),
  +MODPERL_SRC  = $code-path,
  +MODPERL_MAKEFILE = basename($build-default_file('makefile')),
  +MAKE_F   = '$(MAKE) ' . (WIN32 ? '/f' : '-f'),
  +MODPERL_LIBMAKE  = '$(MAKE) -f $(MODPERL_MAKEFILE)',
  +PERL = $build-perl_config('perlpath'),
  +MOD_INSTALL  = ModPerl::MM::mod_install(),
  +APACHE_PREFIX= $build-apxs('-q' = 'prefix'),
  +APACHE_LIBDIR= $build-apxs('-q' = 'libexecdir'),
   },
   clean = {
   FILES = { clean_files() },
   -390,13 +394,13 
$(SHELL) build/make_etags
   
   modperl_lib:
  - cd $(MODPERL_SRC)  $(MAKE)
  + cd $(MODPERL_SRC)  $(MODPERL_LIBMAKE)
   
   modperl_lib_install:
  - cd $(MODPERL_SRC)  $(MAKE) install
  + cd $(MODPERL_SRC)  $(MODPERL_LIBMAKE) install
   
   modperl_src_clean:
  - cd $(MODPERL_SRC)  $(MAKE) clean
  + cd $(MODPERL_SRC)  $(MODPERL_LIBMAKE) clean
   
   EOF
   
  
  
  
  1.91  +6 -3  modperl-2.0/lib/Apache/Build.pm
  
  Index: Build.pm
  ===
  RCS file: /home/cvs/modperl-2.0/lib/Apache/Build.pm,v
  retrieving revision 1.90
  retrieving revision 1.91
  diff -u -r1.90 -r1.91
  --- Build.pm  21 May 2002 17:42:39 -  1.90
  +++ Build.pm  22 May 2002 01:58:59 -  1.91
   -9,6 +9,7 
   use Config;
   use Cwd ();
   use File::Spec ();
  +use File::Basename;
   use ExtUtils::Embed ();
   use ModPerl::Code ();
   use ModPerl::BuildOptions ();
   -450,7 +451,7 
   my %default_files = (
   'build_config' = 'lib/Apache/BuildConfig.pm',
   'ldopts' = 'src/modules/perl/ldopts',
  -'makefile' = 'src/modules/perl/Makefile',
  +'makefile' = 'src/modules/perl/Makefile.modperl',
   );
   
   sub clean_files {
   -908,6 +909,8 
   
   print $fh noedit_warning_hash();
   
  +print $fh $self-canon_make_attr('makefile', basename $mf);
  +
   $self-make_tools($fh);
   
   print $fh $self-canon_make_attr('ap_libs', $self-apache_libs);
   -1006,8 +1009,8 
$(MODPERL_CLEAN_FILES) \
$(MODPERL_XS_CLEAN_FILES)
   
  -$(MODPERL_OBJS): $(MODPERL_H_FILES) Makefile
  -$(MODPERL_PIC_OBJS): $(MODPERL_H_FILES) Makefile
  +$(MODPERL_OBJS): $(MODPERL_H_FILES) $(MODPERL_MAKEFILE)
  +$(MODPERL_PIC_OBJS): $(MODPERL_H_FILES) $(MODPERL_MAKEFILE)
   $(MODPERL_LIB): $(MODPERL_LIBPERL)
   
   $(MODPERL_LIBNAME)$(MODPERL_LIB_EXT): $(MODPERL_OBJS)
  
  
  



cvs commit: modperl-2.0/lib/Apache Build.pm

2002-05-20 Thread dougm

dougm   02/05/20 15:27:30

  Modified:lib/Apache Build.pm
  Log:
  use Apache::TestConfig::which instead of duplicating
  
  Revision  ChangesPath
  1.85  +2 -7  modperl-2.0/lib/Apache/Build.pm
  
  Index: Build.pm
  ===
  RCS file: /home/cvs/modperl-2.0/lib/Apache/Build.pm,v
  retrieving revision 1.84
  retrieving revision 1.85
  diff -u -r1.84 -r1.85
  --- Build.pm  19 May 2002 19:46:08 -  1.84
  +++ Build.pm  20 May 2002 22:27:30 -  1.85
   -13,6 +13,7 
   use ModPerl::Code ();
   use ModPerl::BuildOptions ();
   use Apache::TestTrace;
  +use Apache::TestConfig ();
   
   use constant REQUIRE_ITHREADS = grep { $^O eq $_ } qw(MSWin32);
   use constant HAS_ITHREADS =
   -96,7 +97,7 
   #these extra tries are for things built outside of mod_perl
   #e.g. libapreq
   push trys,
  -which('apxs'),
  +Apache::TestConfig::which('apxs'),
   '/usr/local/apache/bin/apxs';
   }
   
   -133,12 +134,6 
   my $cflags = __PACKAGE__-apxs('-q' = 'CFLAGS');
   $cflags =~ s/\/\\\/g;
   $cflags;
  -}
  -
  -sub which {
  -foreach (map { File::Spec-catfile($_, $_[0]) } File::Spec-path) {
  - return $_ if -x;
  -}
   }
   
   #--- Perl Config stuff ---
  
  
  



cvs commit: modperl-2.0/xs/Apache/RequestRec Apache__RequestRec.h

2002-05-20 Thread dougm

dougm   02/05/20 17:07:01

  Modified:xs/Apache/RequestRec Apache__RequestRec.h
  Log:
  include string terminator when calling ap_set_content_type
  
  Revision  ChangesPath
  1.2   +1 -1  modperl-2.0/xs/Apache/RequestRec/Apache__RequestRec.h
  
  Index: Apache__RequestRec.h
  ===
  RCS file: /home/cvs/modperl-2.0/xs/Apache/RequestRec/Apache__RequestRec.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Apache__RequestRec.h  19 May 2002 20:09:27 -  1.1
  +++ Apache__RequestRec.h  21 May 2002 00:07:00 -  1.2
   -7,7 +7,7 
   if (type) {
   STRLEN len;
   const char *val = SvPV(type, len);
  -ap_set_content_type(r, apr_pmemdup(r-pool, val, len));
  +ap_set_content_type(r, apr_pmemdup(r-pool, val, len+1));
   }
   
   return retval;
  
  
  



cvs commit: modperl-2.0/t/response/TestModperl subenv.pm

2002-05-20 Thread dougm

dougm   02/05/20 19:50:39

  Added:   t/response/TestModperl subenv.pm
  Log:
  tests for $r-subprocess_env
  
  Revision  ChangesPath
  1.1  modperl-2.0/t/response/TestModperl/subenv.pm
  
  Index: subenv.pm
  ===
  package TestModperl::subenv;
  
  use strict;
  use warnings FATAL = 'all';
  
  use Apache::RequestRec ();
  use APR::Table ();
  
  use Apache::Test;
  
  use Apache::Const -compile = 'OK';
  
  sub handler {
  my $r = shift;
  
  plan $r, tests = 16;
  
  my $env = $r-subprocess_env;
  
  ok $env;
  
  ok_false($r, 'REMOTE_ADDR');
  
  $r-subprocess_env; #void context populates
  
  $env = $r-subprocess_env; #table may have been overlayed
  
  ok_true($r, 'REMOTE_ADDR');
  
  $env-set(FOO = 1);
  
  ok_true($r, 'FOO');
  
  $r-subprocess_env(FOO = undef);
  
  ok_false($r, 'FOO');
  
  $r-subprocess_env(FOO = 1);
  
  ok_true($r, 'FOO');
  
  Apache::OK;
  }
  
  sub ok_true {
  my($r, $key) = _;
  
  my $env = $r-subprocess_env;
  
  ok $env-get($key);
  
  ok $env-{$key};
  
  ok $r-subprocess_env($key);
  }
  
  sub ok_false {
  my($r, $key) = _;
  
  my $env = $r-subprocess_env;
  
  ok ! $env-get($key);
  
  ok ! $env-{$key};
  
  ok ! $r-subprocess_env($key);
  }
  
  1;
  __END__
  PerlOptions -SetupEnv
  
  
  
  



cvs commit: modperl-2.0/t/response/TestAPI module.pm

2002-05-19 Thread dougm

dougm   02/05/19 12:10:45

  Modified:t/response/TestAPI module.pm
  Log:
  fix broken test #2
  
  Revision  ChangesPath
  1.7   +2 -2  modperl-2.0/t/response/TestAPI/module.pm
  
  Index: module.pm
  ===
  RCS file: /home/cvs/modperl-2.0/t/response/TestAPI/module.pm,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- module.pm 13 May 2002 18:19:28 -  1.6
  +++ module.pm 19 May 2002 19:10:45 -  1.7
   -24,8 +24,8 
   
   ok $top_module;
   
  -ok t_cmp($cfg-{httpd_info}-{MODULE_MAGIC_NUMBER},
  - $top_module-version . ':0',
  +ok t_cmp($cfg-{httpd_info}-{MODULE_MAGIC_NUMBER_MAJOR},
  + $top_module-version,
q{$top_module-version});
   
   ok t_cmp(scalar keys %{ $cfg-{modules} },
  
  
  



cvs commit: modperl-2.0/xs/Apache/RequestRec - New directory

2002-05-19 Thread dougm

dougm   02/05/19 13:08:46

  modperl-2.0/xs/Apache/RequestRec - New directory



cvs commit: modperl-2.0/xs/Apache/RequestRec Apache__RequestRec.h

2002-05-19 Thread dougm

dougm   02/05/19 13:09:27

  Added:   xs/Apache/RequestRec Apache__RequestRec.h
  Log:
  wrapper for $r-content_type
  
  Revision  ChangesPath
  1.1  modperl-2.0/xs/Apache/RequestRec/Apache__RequestRec.h
  
  Index: Apache__RequestRec.h
  ===
  static MP_INLINE
  const char *mpxs_Apache__RequestRec_content_type(pTHX_ request_rec *r,
   SV *type)
  {
  const char *retval = r-content_type;
  
  if (type) {
  STRLEN len;
  const char *val = SvPV(type, len);
  ap_set_content_type(r, apr_pmemdup(r-pool, val, len));
  }
  
  return retval;
  }
  
  
  



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

2002-05-19 Thread dougm

dougm   02/05/19 13:11:56

  Modified:xs/maps  apache_functions.map apache_structures.map
modperl_functions.map
   xs/tables/current/ModPerl FunctionTable.pm
  Log:
  wrap $r-content_type(foo/bar) so ap_set_content_type is called underneath
  
  Revision  ChangesPath
  1.51  +1 -1  modperl-2.0/xs/maps/apache_functions.map
  
  Index: apache_functions.map
  ===
  RCS file: /home/cvs/modperl-2.0/xs/maps/apache_functions.map,v
  retrieving revision 1.50
  retrieving revision 1.51
  diff -u -r1.50 -r1.51
  --- apache_functions.map  19 May 2002 01:05:30 -  1.50
  +++ apache_functions.map  19 May 2002 20:11:55 -  1.51
   -49,7 +49,7 
   ap_rgetline_core
   ?ap_get_request_note
   ?ap_register_request_note
  - ap_set_content_type
  +~ap_set_content_type
   
   #MODULE=Apache::RequestConfig
ap_document_root
  
  
  
  1.15  +1 -1  modperl-2.0/xs/maps/apache_structures.map
  
  Index: apache_structures.map
  ===
  RCS file: /home/cvs/modperl-2.0/xs/maps/apache_structures.map,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- apache_structures.map 19 May 2002 01:05:30 -  1.14
  +++ apache_structures.map 19 May 2002 20:11:55 -  1.15
   -40,7 +40,7 
  err_headers_out
  subprocess_env
  notes
  -   content_type
  +~  content_type
  handler
  content_encoding
  content_languages
  
  
  
  1.37  +3 -0  modperl-2.0/xs/maps/modperl_functions.map
  
  Index: modperl_functions.map
  ===
  RCS file: /home/cvs/modperl-2.0/xs/maps/modperl_functions.map,v
  retrieving revision 1.36
  retrieving revision 1.37
  diff -u -r1.36 -r1.37
  --- modperl_functions.map 10 May 2002 17:48:27 -  1.36
  +++ modperl_functions.map 19 May 2002 20:11:55 -  1.37
   -8,6 +8,9 
mpxs_ModPerl__Global_special_list_call
mpxs_ModPerl__Global_special_list_clear
   
  +MODULE=Apache::RequestRec   PACKAGE=Apache::RequestRec
  + mpxs_Apache__RequestRec_content_type | | r, type=Nullsv
  +
   MODULE=Apache::RequestUtil   PACKAGE=guess
mpxs_Apache__RequestRec_push_handlers
mpxs_Apache__RequestRec_set_handlers
  
  
  
  1.64  +19 -1 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.63
  retrieving revision 1.64
  diff -u -r1.63 -r1.64
  --- FunctionTable.pm  18 May 2002 23:56:54 -  1.63
  +++ FunctionTable.pm  19 May 2002 20:11:55 -  1.64
   -2,7 +2,7 
   
   # !!
   # ! WARNING: generated by ModPerl::ParseSource/0.01
  -# !  Sat May 18 16:46:32 2002
  +# !  Sun May 19 12:59:55 2002
   # !  do NOT edit, any changes will be lost !
   # !!
   
   -4366,6 +4366,24 
 {
   'type' = 'request_rec *',
   'name' = 'r'
  +  }
  +]
  +  },
  +  {
  +'return_type' = 'const char *',
  +'name' = 'mpxs_Apache__RequestRec_content_type',
  +'args' = [
  +  {
  +'type' = 'PerlInterpreter *',
  +'name' = 'my_perl'
  +  },
  +  {
  +'type' = 'request_rec *',
  +'name' = 'r'
  +  },
  +  {
  +'type' = 'SV *',
  +'name' = 'type'
 }
   ]
 },
  
  
  



cvs commit: modperl-2.0/xs/Apache/Response Apache__Response.h

2002-05-19 Thread dougm

dougm   02/05/19 16:01:12

  Modified:xs/Apache/Response Apache__Response.h
  Log:
  use ap_set_content_type rather than directly setting r-content_type
  in $r-send_http_header
  
  Revision  ChangesPath
  1.7   +1 -1  modperl-2.0/xs/Apache/Response/Apache__Response.h
  
  Index: Apache__Response.h
  ===
  RCS file: /home/cvs/modperl-2.0/xs/Apache/Response/Apache__Response.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Apache__Response.h21 Jan 2002 08:27:30 -  1.6
  +++ Apache__Response.h19 May 2002 23:01:12 -  1.7
   -20,7 +20,7 
   MP_dRCFG;
   
   if (type) {
  -r-content_type = apr_pstrdup(r-pool, type);
  +ap_set_content_type(r, apr_pstrdup(r-pool, type));
   }
   
   rcfg-wbucket-header_parse = 0; /* turn off PerlOptions +ParseHeaders */
  
  
  



cvs commit: modperl-2.0/xs/maps apache_functions.map apr_functions.map

2002-05-19 Thread dougm

dougm   02/05/19 16:59:52

  Modified:xs/maps  apache_functions.map apr_functions.map
  Log:
  misc api mapping changes:
  - swap internal_fast_redirect, ap_die args
  - alias sub_req_lookup_dirent to lookup_dirent, reorder/default args
  - disable ap_run_child_init, apr_gethostname, apr_base64_decode_len
  
  Revision  ChangesPath
  1.52  +4 -4  modperl-2.0/xs/maps/apache_functions.map
  
  Index: apache_functions.map
  ===
  RCS file: /home/cvs/modperl-2.0/xs/maps/apache_functions.map,v
  retrieving revision 1.51
  retrieving revision 1.52
  diff -u -r1.51 -r1.52
  --- apache_functions.map  19 May 2002 20:11:55 -  1.51
  +++ apache_functions.map  19 May 2002 23:59:52 -  1.52
   -81,8 +81,8 
   -ap_finalize_sub_req_protocol
ap_internal_redirect | | r, new_uri
ap_internal_redirect_handler | | r, new_uri
  - ap_internal_fast_redirect
  - ap_sub_req_lookup_dirent
  + ap_internal_fast_redirect| | r, sub_req
  + ap_sub_req_lookup_dirent | | r, finfo, subtype=AP_SUBREQ_NO_ARGS, 
next_filter=NULL | lookup_dirent
   
   subrequest_rec *:ap_sub_req_lookup_file | | \
r, new_file, next_filter=r-output_filters-next | lookup_file
   -436,7 +436,7 
   ap_run_open_logs
   ap_run_post_config
   ap_run_insert_filter
  - ap_run_child_init
  +ap_run_child_init
   ?ap_run_default_port
   ?ap_run_http_method
   ap_run_create_connection
   -460,7 +460,7 
   ap_run_pre_mpm
   !ap_run_quick_handler
ap_invoke_handler
  - ap_die
  + ap_die | | r, type
   
   !MODULE=Apache::MD5
ap_md5
  
  
  
  1.40  +2 -2  modperl-2.0/xs/maps/apr_functions.map
  
  Index: apr_functions.map
  ===
  RCS file: /home/cvs/modperl-2.0/xs/maps/apr_functions.map,v
  retrieving revision 1.39
  retrieving revision 1.40
  diff -u -r1.39 -r1.40
  --- apr_functions.map 19 May 2002 01:05:30 -  1.39
  +++ apr_functions.map 19 May 2002 23:59:52 -  1.40
   -489,7 +489,7 
apr_current_userid
   
   MODULE=APR::NetLib
  - apr_gethostname
  +-apr_gethostname
apr_getnameinfo
   -apr_getservbyname
apr_parse_addr_port
   -551,7 +551,7 
apr_base64_decode | MPXS_ | coded_src
apr_base64_encode | MPXS_ | plain_src
apr_base64_encode_len
  - apr_base64_decode_len
  +-apr_base64_decode_len
   -apr_base64_encode_binary
   -apr_base64_decode_binary
   
  
  
  



cvs commit: modperl-2.0/src/modules/perl mod_perl.h modperl_cmd.c

2002-05-18 Thread dougm

dougm   02/05/18 19:26:11

  Modified:src/modules/perl mod_perl.h modperl_cmd.c
  Log:
  fold some duplication in modperl_cmd_{set,add}_var
  
  Revision  ChangesPath
  1.42  +4 -0  modperl-2.0/src/modules/perl/mod_perl.h
  
  Index: mod_perl.h
  ===
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.h,v
  retrieving revision 1.41
  retrieving revision 1.42
  diff -u -r1.41 -r1.42
  --- mod_perl.h6 Apr 2002 17:42:10 -   1.41
  +++ mod_perl.h19 May 2002 02:26:11 -  1.42
   -62,4 +62,8 
   
   #define MgTypeExt(mg) (mg-mg_type == '~')
   
  +typedef void MP_FUNC_T(modperl_table_modify_t) (apr_table_t *,
  +const char *,
  +const char *);
  +
   #endif /*  MOD_PERL_H */
  
  
  
  1.20  +19 -19modperl-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.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- modperl_cmd.c 19 May 2002 02:10:13 -  1.19
  +++ modperl_cmd.c 19 May 2002 02:26:11 -  1.20
   -60,38 +60,38 
   return NULL;
   }
   
  -MP_CMD_SRV_DECLARE2(set_var)
  +static MP_CMD_SRV_DECLARE2(handle_vars)
   {
   MP_dSCFG(parms-server);
   modperl_config_dir_t *dcfg = (modperl_config_dir_t *)mconfig;
  - 
  -apr_table_set(dcfg-vars, arg1, arg2);
  -MP_TRACE_d(MP_FUNC, DIR: arg1 = %s, arg2 = %s\n, arg1, arg2);
  +const char *name = parms-cmd-name;
  +
  +modperl_table_modify_t func =
  +strEQ(name, PerlSetVar) ? apr_table_set : apr_table_add;
  +
  +func(dcfg-vars, arg1, arg2);
  +
  +MP_TRACE_d(MP_FUNC, %s DIR: arg1 = %s, arg2 = %s\n,
  +   name, arg1, arg2);
   
   /* make available via Apache-server-dir_config */
   if (!parms-path) {
  -apr_table_set(scfg-vars, arg1, arg2);
  -MP_TRACE_d(MP_FUNC, SRV: arg1 = %s, arg2 = %s\n, arg1, arg2);
  +func(scfg-vars, arg1, arg2);
  +MP_TRACE_d(MP_FUNC, %s SRV: arg1 = %s, arg2 = %s\n,
  +   name, arg1, arg2);
   }
   
   return NULL;
   }
   
  -MP_CMD_SRV_DECLARE2(add_var)
  +MP_CMD_SRV_DECLARE2(set_var)
   {
  -MP_dSCFG(parms-server);
  -modperl_config_dir_t *dcfg = (modperl_config_dir_t *)mconfig;
  - 
  -apr_table_add(dcfg-vars, arg1, arg2);
  -MP_TRACE_d(MP_FUNC, DIR: arg1 = %s, arg2 = %s\n, arg1, arg2);
  -
  -/* make available via Apache-server-dir_config */
  -if (!parms-path) {
  -apr_table_add(scfg-vars, arg1, arg2);
  -MP_TRACE_d(MP_FUNC, SRV: arg1 = %s, arg2 = %s\n, arg1, arg2);
  -}
  +return modperl_cmd_handle_vars(parms, mconfig, arg1, arg2);
  +}
   
  -return NULL;
  +MP_CMD_SRV_DECLARE2(add_var)
  +{
  +return modperl_cmd_handle_vars(parms, mconfig, arg1, arg2);
   }
   
   MP_CMD_SRV_DECLARE2(set_env)
  
  
  



cvs commit: modperl-2.0/t/response/TestModperl method.pm methodname.pm methodobj.pm

2002-05-17 Thread dougm

dougm   02/05/17 19:07:42

  Added:   t/response/TestModperl method.pm methodname.pm methodobj.pm
  Log:
  add some test for method handlers
  
  Revision  ChangesPath
  1.1  modperl-2.0/t/response/TestModperl/method.pm
  
  Index: method.pm
  ===
  package TestModperl::method;
  
  use strict;
  use warnings FATAL = 'all';
  
  use Apache::Test;
  use Apache::TestUtil;
  
  use Apache::Const -compile = 'OK';
  
  sub handler : method {
  my($class, $r) = _;
  
  plan $r, tests = 3;
  
  ok t_cmp(2, scalar _,
   '_ == 2');
  
  my $cmp_class = ref($class) || $class;
  
  ok t_cmp($cmp_class, $cmp_class,
   'handler class');
  
  ok t_cmp('/' . $cmp_class, $r-uri,
   '$r-uri eq __PACKAGE__');
  
  Apache::OK;
  }
  
  1;
  __END__
  
  
  
  1.1  modperl-2.0/t/response/TestModperl/methodname.pm
  
  Index: methodname.pm
  ===
  package TestModperl::methodname;
  
  use strict;
  use warnings FATAL = 'all';
  
  use Apache::Test;
  use Apache::TestUtil;
  
  use Apache::Const -compile = 'OK';
  
  use TestModperl::method ();
  
  sub response : method {
  TestModperl::method::handler(_);
  }
  
  1;
  __END__
  PerlResponseHandler TestModperl::methodname-response
  
  
  
  1.1  modperl-2.0/t/response/TestModperl/methodobj.pm
  
  Index: methodobj.pm
  ===
  package TestModperl::methodobj;
  
  use strict;
  use warnings FATAL = 'all';
  
  use Apache::Const -compile = 'OK';
  
  use TestModperl::method ();
  
  our ISA = qw(TestModperl::method);
  
  1;
  __END__
  PerlResponseHandler $TestModperl::MethodObj-handler
  
  
  
  



cvs commit: modperl-2.0/t/conf modperl_extra.pl

2002-05-17 Thread dougm

dougm   02/05/17 19:08:21

  Modified:t/conf   modperl_extra.pl
  Log:
  add config for modperl/methodobj test
  
  Revision  ChangesPath
  1.14  +4 -0  modperl-2.0/t/conf/modperl_extra.pl
  
  Index: modperl_extra.pl
  ===
  RCS file: /home/cvs/modperl-2.0/t/conf/modperl_extra.pl,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- modperl_extra.pl  6 Apr 2002 01:42:53 -   1.13
  +++ modperl_extra.pl  18 May 2002 02:08:21 -  1.14
   -22,6 +22,10 
   die '$ENV{MOD_PERL} not set!';
   }
   
  +#see t/modperl/methodobj
  +use TestModperl::methodobj ();
  +$TestModperl::MethodObj = bless {}, 'TestModperl::methodobj';
  +
   #see t/response/TestModperl/env.pm
   $ENV{MODPERL_EXTRA_PL} = __FILE__;
   
  
  
  



cvs commit: modperl-2.0/todo asap.txt

2002-05-17 Thread dougm

dougm   02/05/17 20:20:37

  Removed: todo asap.txt
  Log:
  these are no longer issues and anything to be added here should be in a STATUS file



cvs commit: modperl/t/docs startup.pl

2002-05-15 Thread dougm

dougm   02/05/15 11:01:21

  Modified:t/docs   startup.pl
  Log:
  the easy fix for bleedperl taint issue: don't use ExtUtils::testlib
  we don't need it anyhow.
  
  Revision  ChangesPath
  1.43  +0 -3  modperl/t/docs/startup.pl
  
  Index: startup.pl
  ===
  RCS file: /home/cvs/modperl/t/docs/startup.pl,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- startup.pl6 Jul 2001 20:33:41 -   1.42
  +++ startup.pl15 May 2002 18:01:21 -  1.43
   -5,9 +5,6 
   }
   
   BEGIN {
  -#./blib/lib:./blib/arch
  -use ExtUtils::testlib;
  -
   use lib map { $Apache::Server::CWD/$_ } qw(t/docs blib/lib blib/arch);
   require blib.pl if -e ./t/docs/blib.pl;
   #Perl ignores w/ -T
  
  
  



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

2002-05-14 Thread dougm

dougm   02/05/14 19:08:16

  Modified:src/modules/perl perl_util.c
  Log:
  reverting fix taint issue with bleedperl change as it was not the right fix
  
  Revision  ChangesPath
  1.49  +0 -1  modperl/src/modules/perl/perl_util.c
  
  Index: perl_util.c
  ===
  RCS file: /home/cvs/modperl/src/modules/perl/perl_util.c,v
  retrieving revision 1.48
  retrieving revision 1.49
  diff -u -r1.48 -r1.49
  --- perl_util.c   16 Apr 2002 02:32:22 -  1.48
  +++ perl_util.c   15 May 2002 02:08:16 -  1.49
   -503,7 +503,6 
SvREFCNT_dec(HeVAL(entry));
HeVAL(entry) = sv_undef;
MP_TRACE_g(fprintf(stderr, reloading %s\n, HeKEY(entry)));
  - TAINT_NOT;
perl_require_pv(HeKEY(entry));
}
SvREFCNT_dec(keysv);
  
  
  



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

2002-04-15 Thread dougm

dougm   02/04/15 19:32:22

  Modified:src/modules/perl perl_util.c
  Log:
  fix taint issue with bleedperl
  
  Revision  ChangesPath
  1.48  +1 -0  modperl/src/modules/perl/perl_util.c
  
  Index: perl_util.c
  ===
  RCS file: /home/cvs/modperl/src/modules/perl/perl_util.c,v
  retrieving revision 1.47
  retrieving revision 1.48
  diff -u -r1.47 -r1.48
  --- perl_util.c   24 Mar 2002 23:01:33 -  1.47
  +++ perl_util.c   16 Apr 2002 02:32:22 -  1.48
   -503,6 +503,7 
SvREFCNT_dec(HeVAL(entry));
HeVAL(entry) = sv_undef;
MP_TRACE_g(fprintf(stderr, reloading %s\n, HeKEY(entry)));
  + TAINT_NOT;
perl_require_pv(HeKEY(entry));
}
SvREFCNT_dec(keysv);
  
  
  



Re: [Fwd: Re: How to reload PERL module in all Apache children]

2002-04-11 Thread dougm

if you use Apache::Reload with a threaded MPM and multiple interpreters, 
the modules will be reloaded by each interpreter as they are used, not 
every interpreter all at once.  similar to 1.x where each child has 
its own interpreter, the modules are reloaded as each kid is hit with a 
request.

note that if a module is loaded at startup, the syntax tree of each 
subroutine is shared between interpreters (big win), but each subroutine 
has its own padlist (where lexical my variables are stored).  once 
Apache::Reload reloads a module, this sharing goes away and each 
interpreter will have its own copy of the syntax tree for the given 
subroutines.





Re: [Fwd: Re: How to reload PERL module in all Apache children]

2002-04-11 Thread dougm

On Fri, 12 Apr 2002, Stas Bekman wrote:
 
 But if talk about futuristic Solar variables (perl globals shared 
 between threads). what if a solar variable is a reference to CODE? Can 
 this be shared? If so, will reloading this variable in one interpreter 
 affect others?

even if that would work, it would kill performance due to required mutex 
locking.  and that locking would need to happen in the perl core, unlike
simple scalars, arrays and hashes.

 Also if we put the sharing aside for a moment and assuming that we have 
 a pool of interpreters with idle interpreters in it, there can be a 
 thread that monitors changed modules and update the idle interpreters by 
 making them reload the code and put them in the head of the list. This 
 should save the overhead of reloading during a request. Does this make 
 sense?

there already is a plan to have a low-priority thread that monitors idle 
interpreters.  this would be a pluggable interface, so you can do whatever 
you want with the interpreter via callback hooks.  but that'll all wait 
until well after everything else is solid with ithreads, including and 
most important: perl 5.8.x




Re: [Fwd: Re: How to reload PERL module in all Apache children]

2002-04-11 Thread dougm

On Thu, 11 Apr 2002, Perrin Harkins wrote:
 
 Does it look you'll be able to get the solar variables idea to work for 
 those data types?

i had a simple prototype way back that sorta worked for simple scalars, 
probably won't take it any further now that there is threads::shared in 
5.7.x.  haven't tried it but i believe the concept is the same.




cvs commit: modperl-2.0/xs typemap

2002-04-09 Thread dougm

dougm   02/04/09 13:19:25

  Modified:xs   typemap
  Log:
  override T_PTROBJ INPUT typemap to croak if object is not a blessed
  reference, to prevent possible segv from e.g. Apache::Server-process
  
  Revision  ChangesPath
  1.6   +11 -0 modperl-2.0/xs/typemap
  
  Index: typemap
  ===
  RCS file: /home/cvs/modperl-2.0/xs/typemap,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- typemap   25 Sep 2001 19:44:03 -  1.5
  +++ typemap   9 Apr 2002 20:19:25 -   1.6
   -19,6 +19,17 
   
   ##
   INPUT
  +T_PTROBJ
  + if (SvROK($arg)  sv_derived_from($arg, \${ntype}\)) {
  + IV tmp = SvIV((SV*)SvRV($arg));
  + $var = INT2PTR($type,tmp);
  + }
  + else {
  + Perl_croak(aTHX_ SvROK($arg) ?
  +   \$var is not of type ${ntype}\ :
  +   \$var is not a blessed reference\);
  +}
  +
   T_APACHEOBJ
$var = modperl_xs_sv2request_rec(aTHX_ $arg, \$ntype\, cv)
   
  
  
  



cvs commit: modperl-2.0/t/modules include.t

2002-04-08 Thread dougm

dougm   02/04/08 18:00:52

  Modified:.Changes
   src/modules/perl mod_perl.c modperl_global.c
   t/htdocs/includes test.shtml
   t/modules include.t
  Added:   t/htdocs/includes-registry cgipm.pl
  Log:
  fix 'PerlOptions +GlobalRequest' when used within subrequests
  
  Revision  ChangesPath
  1.6   +2 -0  modperl-2.0/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl-2.0/Changes,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Changes   7 Apr 2002 22:47:31 -   1.5
  +++ Changes   9 Apr 2002 01:00:51 -   1.6
   -1,5 +1,7 
   =item 1.99_02-dev
   
  +fix 'PerlOptions +GlobalRequest' when used within subrequests [dougm]
  +
   get rid of some subroutine redefined warnings in ModPerl::MM that
   show up with newer bleedperls. [dougm]
   
  
  
  
  1.113 +6 -0  modperl-2.0/src/modules/perl/mod_perl.c
  
  Index: mod_perl.c
  ===
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.c,v
  retrieving revision 1.112
  retrieving revision 1.113
  diff -u -r1.112 -r1.113
  --- mod_perl.c6 Apr 2002 17:42:10 -   1.112
  +++ mod_perl.c9 Apr 2002 01:00:51 -   1.113
   -673,6 +673,12 
   return DECLINED;
   }
   
  +/* 
  + * need to do this incase we are inside a subrequest,
  + * since header_parser hook is not run in subrequests.
  + */
  +modperl_global_request_cfg_set(r);
  +
   #ifdef USE_ITHREADS
   interp = modperl_interp_select(r, r-connection, r-server);
   aTHX = interp-perl;
  
  
  
  1.5   +5 -8  modperl-2.0/src/modules/perl/modperl_global.c
  
  Index: modperl_global.c
  ===
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_global.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- modperl_global.c  5 Dec 2001 19:00:29 -   1.4
  +++ modperl_global.c  9 Apr 2002 01:00:52 -   1.5
   -15,19 +15,16 
   void modperl_global_request_set(request_rec *r)
   {
   MP_dRCFG;
  +request_rec *old_r = NULL;
  +
  +/* reset old value, important for subrequests */
  +(void)modperl_tls_get_request_rec(old_r);
  +modperl_tls_reset_cleanup_request_rec(r-pool, old_r);
   
   modperl_tls_set_request_rec(r);
   
   /* so 'PerlOptions +GlobalRequest' doesnt wipe us out */
   MpReqSET_GLOBAL_REQUEST_On(rcfg);
  -
  -if (r-main) {
  -/* reset after subrequests */
  -modperl_tls_reset_cleanup_request_rec(r-pool, r-main);
  -}
  -else {
  -modperl_tls_reset_cleanup_request_rec(r-pool, NULL);
  -}
   }
   
   void modperl_global_request_obj_set(pTHX_ SV *svr)
  
  
  
  1.2   +2 -0  modperl-2.0/t/htdocs/includes/test.shtml
  
  Index: test.shtml
  ===
  RCS file: /home/cvs/modperl-2.0/t/htdocs/includes/test.shtml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- test.shtml26 Feb 2002 19:10:04 -  1.1
  +++ test.shtml9 Apr 2002 01:00:52 -   1.2
   -2,6 +2,8 
   
   !--#include virtual=/includes-registry/test.pl --
   
  +!--#include virtual=/includes-registry/cgipm.pl --
  +
   p align=right[a href=../index.htmlback/a]/p
   
   !--#include virtual=/includes/footer.shtml --
  
  
  
  1.1  modperl-2.0/t/htdocs/includes-registry/cgipm.pl
  
  Index: cgipm.pl
  ===
  use CGI ();
  
  my $cgi = CGI-new;
  
  print $cgi-header;
  
  print cgi.pm\n;
  
  __END__
  
  
  
  1.2   +1 -0  modperl-2.0/t/modules/include.t
  
  Index: include.t
  ===
  RCS file: /home/cvs/modperl-2.0/t/modules/include.t,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- include.t 26 Feb 2002 19:13:44 -  1.1
  +++ include.t 9 Apr 2002 01:00:52 -   1.2
   -9,6 +9,7 
   my patterns = (
   'mod_perl mod_include test',
   'Hello World',
  +'cgi.pm',
   'footer',
   );
   
  
  
  



cvs commit: modperl-2.0 Changes

2002-04-08 Thread dougm

dougm   02/04/08 19:59:19

  Modified:src/modules/perl modperl_util.c
   .Changes
  Log:
  fix ModPerl::Util::exit to clear $ before calling Perl_croak
  
  Revision  ChangesPath
  1.38  +1 -0  modperl-2.0/src/modules/perl/modperl_util.c
  
  Index: modperl_util.c
  ===
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_util.c,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- modperl_util.c29 Jan 2002 09:50:39 -  1.37
  +++ modperl_util.c9 Apr 2002 02:59:19 -   1.38
   -517,6 +517,7 
   ENTER;
   SAVESPTR(PL_diehook);
   PL_diehook = Nullsv; 
  +sv_setpv(ERRSV, );
   Perl_croak(aTHX_ NULL);
   }
   
  
  
  
  1.7   +2 -0  modperl-2.0/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl-2.0/Changes,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Changes   9 Apr 2002 01:00:51 -   1.6
  +++ Changes   9 Apr 2002 02:59:19 -   1.7
   -1,5 +1,7 
   =item 1.99_02-dev
   
  +fix ModPerl::Util::exit to clear $ before calling Perl_croak [dougm]
  +
   fix 'PerlOptions +GlobalRequest' when used within subrequests [dougm]
   
   get rid of some subroutine redefined warnings in ModPerl::MM that
  
  
  



cvs commit: modperl-2.0/t/response/TestApache compat2.pm

2002-04-07 Thread dougm

dougm   02/04/07 14:41:33

  Modified:t/response/TestApache compat2.pm
  Log:
  needs adjustment after fix to Apache::compat
  
  Revision  ChangesPath
  1.4   +1 -1  modperl-2.0/t/response/TestApache/compat2.pm
  
  Index: compat2.pm
  ===
  RCS file: /home/cvs/modperl-2.0/t/response/TestApache/compat2.pm,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- compat2.pm7 Apr 2002 01:25:14 -   1.3
  +++ compat2.pm7 Apr 2002 21:41:33 -   1.4
   -18,7 +18,7 
   42  =1k,
   42_000  =   41k,
   42_000_000  = 40.1M,
  -42_000_000_000  = 40054.3M,
  +42_000_000_000  = 40054M,
   );
   
   sub handler {
  
  
  



cvs commit: modperl-2.0/t/response/TestApache compat2.pm

2002-04-06 Thread dougm

dougm   02/04/06 17:25:14

  Modified:t/response/TestApache compat2.pm
  Log:
  get rid of annoying unexpectedly succeeded messages:
  apache/compat2..ok, 1/34 unexpectedly succeeded
  All tests successful (1 subtest UNEXPECTEDLY SUCCEEDED).
  
  Revision  ChangesPath
  1.3   +5 -5  modperl-2.0/t/response/TestApache/compat2.pm
  
  Index: compat2.pm
  ===
  RCS file: /home/cvs/modperl-2.0/t/response/TestApache/compat2.pm,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- compat2.pm29 Jan 2002 07:55:56 -  1.2
  +++ compat2.pm7 Apr 2002 01:25:14 -   1.3
   -24,7 +24,7 
   sub handler {
   my $r = shift;
   
  -plan $r, tests = 34, todo = [23];
  +plan $r, tests = 33;
   
   $r-send_http_header('text/plain');
   
   -152,11 +152,11 
$r-headers_out-{Content-length},
\$r-set_content_length($csize) w/ setting explicit size);
   
  -$r-set_content_length();
  +#$r-set_content_length();
   # TODO
  -ok t_cmp(0, # XXX: $r-finfo-csize is not available yet
  - $r-headers_out-{Content-length},
  - \$r-set_content_length() w/o setting explicit size);
  +#ok t_cmp(0, # XXX: $r-finfo-csize is not available yet
  +# $r-headers_out-{Content-length},
  +# \$r-set_content_length() w/o setting explicit size);
   
   # XXX: how to test etag?
   t_debug \$r-set_etag;
  
  
  



cvs commit: modperl-2.0/examples/lib/Apache HelloWorld.pm

2002-04-06 Thread dougm

dougm   02/04/06 20:05:07

  Modified:examples/lib/Apache HelloWorld.pm
  Log:
  fix example, add more config
  
  Revision  ChangesPath
  1.4   +10 -3 modperl-2.0/examples/lib/Apache/HelloWorld.pm
  
  Index: HelloWorld.pm
  ===
  RCS file: /home/cvs/modperl-2.0/examples/lib/Apache/HelloWorld.pm,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- HelloWorld.pm 6 Apr 2002 03:18:22 -   1.3
  +++ HelloWorld.pm 7 Apr 2002 04:05:07 -   1.4
   -1,8 +1,15 
   package Apache::HelloWorld;
   
  +#LoadModule perl_module modules/mod_perl.so
  +#PerlSwitches -Mlib=modperl-2.0/examples/lib
  +
  +##optional
  +#PerlModule Apache2
  +#PerlModule Apache::compat
  +
   #Location /hello-world
  -#  SetHandler modperl
  -#  PerlResponseHandler Apache::HelloWorld
  +#SetHandler modperl
  +#PerlResponseHandler Apache::HelloWorld
   #/Location
   
   use strict;
   -19,7 +26,7 
   
   $r-puts(__PACKAGE__); #print not yet implemented
   
  -return OK;
  +return Apache::OK;
   }
   
   1;
  
  
  



cvs commit: modperl-2.0 Changes

2002-04-06 Thread dougm

dougm   02/04/06 20:39:10

  Modified:.Changes
  Log:
  here goes nuthin
  
  Revision  ChangesPath
  1.2   +3 -1  modperl-2.0/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl-2.0/Changes,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Changes   13 Apr 2000 07:03:35 -  1.1
  +++ Changes   7 Apr 2002 04:39:09 -   1.2
   -1 +1,3 
  -=item 1.99_01-dev
  \ No newline at end of file
  +=item 1.99_01 - April 6, 2002
  +
  +First public release of mod_perl-2.0-tobe.
  
  
  



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

2002-04-05 Thread dougm

dougm   02/04/05 17:23:17

  Modified:src/modules/perl mod_perl.c
  Log:
  use AP_FTYPE_RESOURCE rather than AP_FTYPE_CONTENT_SET
  
  Revision  ChangesPath
  1.111 +2 -2  modperl-2.0/src/modules/perl/mod_perl.c
  
  Index: mod_perl.c
  ===
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.c,v
  retrieving revision 1.110
  retrieving revision 1.111
  diff -u -r1.110 -r1.111
  --- mod_perl.c6 Apr 2002 01:19:15 -   1.110
  +++ mod_perl.c6 Apr 2002 01:23:17 -   1.111
   -504,11 +504,11 
   
   ap_register_output_filter(MP_FILTER_REQUEST_OUTPUT_NAME,
 modperl_output_filter_handler,
  -  AP_FTYPE_CONTENT_SET);
  +  AP_FTYPE_RESOURCE);
   
   ap_register_input_filter(MP_FILTER_REQUEST_INPUT_NAME,
modperl_input_filter_handler,
  - AP_FTYPE_CONTENT_SET);
  + AP_FTYPE_RESOURCE);
   
   ap_register_output_filter(MP_FILTER_CONNECTION_OUTPUT_NAME,
 modperl_output_filter_handler,
  
  
  



cvs commit: modperl-2.0/t/response/TestDirective perlrequire.pm

2002-04-05 Thread dougm

dougm   02/04/05 17:42:53

  Modified:lib  .cvsignore
   lib/ModPerl Code.pm
   t/conf   modperl_extra.pl
   t/response/TestDirective perlrequire.pm
  Added:   lib  Apache2.pm
  Log:
  no longer generate Apache2.pm
  
  add an Apache2.pm that scans INC for Apache2/ directories rather than
  hardcode paths as the old generated one did.
  
  use Apache2 (); in the tests so t/TEST can run when built with
  MP_INST_APACHE2=1
  
  Revision  ChangesPath
  1.2   +1 -1  modperl-2.0/lib/.cvsignore
  
  Index: .cvsignore
  ===
  RCS file: /home/cvs/modperl-2.0/lib/.cvsignore,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- .cvsignore30 Apr 2000 03:34:00 -  1.1
  +++ .cvsignore6 Apr 2002 01:42:52 -   1.2
   -1 +1 
  -Apache2.pm
  +
  
  
  
  1.1  modperl-2.0/lib/Apache2.pm
  
  Index: Apache2.pm
  ===
  package Apache2;
  
  BEGIN {
  my dirs = ();
  
  for my $path (INC) {
  my $dir = $path/Apache2;
  next unless -d $dir;
  push dirs, $dir;
  }
  
  if (dirs) {
  unshift INC, dirs;
  }
  }
  
  1;
  
  
  
  
  1.76  +0 -29 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.75
  retrieving revision 1.76
  diff -u -r1.75 -r1.76
  --- Code.pm   21 Feb 2002 01:45:34 -  1.75
  +++ Code.pm   6 Apr 2002 01:42:53 -   1.76
   -681,35 +681,6 
   #create bootstrap method for static xs modules
   my $static_xs = [keys %{ $build-{XS} }];
   ExtUtils::Embed::xsinit($xsinit, 1, $static_xs);
  -
  -warn generating..., $self-generate_apache2_pm, \n;
  -}
  -
  -sub generate_apache2_pm {
  -my $self = shift;
  -
  -my $lib = $self-perl_config('installsitelib');
  -my $arch = $self-perl_config('installsitearch');
  -my $file = $self-default_file('apache2_pm');
  -
  -open my $fh, '', $file or die open $file: $!;
  -
  -my $package = 'package Apache2';
  -
  -print $fh noedit_warning_hash();
  -
  -print $fh EOF;
  -$package;
  -
  -use lib qw($lib/Apache2
  -   $arch/Apache2);
  -
  -1;
  -
  -EOF
  -close $fh;
  -
  -$file;
   }
   
   my $constant_prefixes = join '|', qw{APR?};
  
  
  
  1.13  +2 -0  modperl-2.0/t/conf/modperl_extra.pl
  
  Index: modperl_extra.pl
  ===
  RCS file: /home/cvs/modperl-2.0/t/conf/modperl_extra.pl,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- modperl_extra.pl  8 Jan 2002 22:46:08 -   1.12
  +++ modperl_extra.pl  6 Apr 2002 01:42:53 -   1.13
   -1,3 +1,5 
  +use Apache2 ();
  +
   use ModPerl::Util (); #for CORE::GLOBAL::exit
   
   use Apache::RequestRec ();
  
  
  
  1.6   +1 -0  modperl-2.0/t/response/TestDirective/perlrequire.pm
  
  Index: perlrequire.pm
  ===
  RCS file: /home/cvs/modperl-2.0/t/response/TestDirective/perlrequire.pm,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- perlrequire.pm18 Jan 2002 06:57:32 -  1.5
  +++ perlrequire.pm6 Apr 2002 01:42:53 -   1.6
   -9,6 +9,7 
   use strict;
   use warnings FATAL = 'all';
   
  +use Apache2 ();
   use Apache::Test ();
   use Apache::Const -compile = 'OK';
   use File::Spec::Functions qw(catfile);
  
  
  



cvs commit: modperl-2.0 .cvsignore Makefile.PL

2002-04-05 Thread dougm

dougm   02/04/05 20:01:56

  Modified:..cvsignore Makefile.PL
  Log:
  generate MANIFEST during make dist
  
  Revision  ChangesPath
  1.6   +1 -0  modperl-2.0/.cvsignore
  
  Index: .cvsignore
  ===
  RCS file: /home/cvs/modperl-2.0/.cvsignore,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- .cvsignore6 Mar 2002 05:24:57 -   1.5
  +++ .cvsignore6 Apr 2002 04:01:56 -   1.6
   -5,3 +5,4 
   scraps
   diff.txt
   smoke-report-*.txt
  +MANIFEST
  
  
  
  1.61  +17 -2 modperl-2.0/Makefile.PL
  
  Index: Makefile.PL
  ===
  RCS file: /home/cvs/modperl-2.0/Makefile.PL,v
  retrieving revision 1.60
  retrieving revision 1.61
  diff -u -r1.60 -r1.61
  --- Makefile.PL   6 Apr 2002 02:12:14 -   1.60
  +++ Makefile.PL   6 Apr 2002 04:01:56 -   1.61
   -71,6 +71,9 
   clean = {
   FILES = { clean_files() },
   },
  +dist = {
  +DIST_DEFAULT = 'mydist',
  +},
   );
   
   post_configure();
   -209,7 +212,8 
   
   return [@{ $build-clean_files },
   xs/*.exp, xs/*.def,
  -  map { $path/$_} { $code-clean_files }];
  +qw(MANIFEST),
  +map { $path/$_} { $code-clean_files }];
   }
   
   sub set_modperl_version {
   -358,7 +362,9 
   }
   
   sub MY::postamble {
  -'';
  +return EOF;
  +mydist : manifest tardist
  +EOF
   }
   
   sub MY::tool_autosplit {
   -389,4 +395,13 
   \t.'PERL=$(PERL)\\',
   \t.'DEFINE=$(DEFINE)',
   ;
  +}
  +
  +sub MY::dist_basics {
  +my $self = shift;
  +my $str = $self-MM::dist_basics;
  +
  +$str =~ s/-MExtUtils(::Manifest=mkmanifest)/-Ilib -MModPerl$1/;
  +
  +$str;
   }
  
  
  



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

2002-03-29 Thread dougm

dougm   02/03/29 08:16:21

  Modified:xs/tables/current/Apache ConstantsTable.pm FunctionTable.pm
StructureTable.pm
   xs/tables/current/ModPerl FunctionTable.pm
  Log:
  sync
  
  Revision  ChangesPath
  1.23  +12 -1 modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm
  
  Index: ConstantsTable.pm
  ===
  RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- ConstantsTable.pm 10 Mar 2002 00:17:05 -  1.22
  +++ ConstantsTable.pm 29 Mar 2002 16:16:20 -  1.23
   -2,7 +2,7 
   
   # !!
   # ! WARNING: generated by Apache::ParseSource/0.02
  -# !  Sat Mar  9 16:13:55 2002
  +# !  Fri Mar 29 06:55:58 2002
   # !  do NOT edit, any changes will be lost !
   # !!
   
   -59,6 +59,17 
 'M_MOVE',
 'M_LOCK',
 'M_UNLOCK',
  +  'M_VERSION_CONTROL',
  +  'M_CHECKOUT',
  +  'M_UNCHECKOUT',
  +  'M_CHECKIN',
  +  'M_UPDATE',
  +  'M_LABEL',
  +  'M_REPORT',
  +  'M_MKWORKSPACE',
  +  'M_MKACTIVITY',
  +  'M_BASELINE_CONTROL',
  +  'M_MERGE',
 'M_INVALID',
 'METHODS'
   ],
  
  
  
  1.35  +301 -43   modperl-2.0/xs/tables/current/Apache/FunctionTable.pm
  
  Index: FunctionTable.pm
  ===
  RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/FunctionTable.pm,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- FunctionTable.pm  10 Mar 2002 00:17:05 -  1.34
  +++ FunctionTable.pm  29 Mar 2002 16:16:20 -  1.35
   -2,7 +2,7 
   
   # !!
   # ! WARNING: generated by Apache::ParseSource/0.02
  -# !  Sat Mar  9 16:14:02 2002
  +# !  Fri Mar 29 06:55:29 2002
   # !  do NOT edit, any changes will be lost !
   # !!
   
   -195,6 +195,16 
 },
 {
   'return_type' = 'void',
  +'name' = 'ap_add_output_filters_by_type',
  +'args' = [
  +  {
  +'type' = 'request_rec *',
  +'name' = 'r'
  +  }
  +]
  +  },
  +  {
  +'return_type' = 'void',
   'name' = 'ap_add_per_dir_conf',
   'args' = [
 {
   -340,6 +350,10 
 {
   'type' = 'apr_pool_t *',
   'name' = 'p'
  +  },
  +  {
  +'type' = 'apr_bucket_alloc_t *',
  +'name' = 'list'
 }
   ]
 },
   -2964,6 +2978,10 
   'name' = 'ap_method_name_of',
   'args' = [
 {
  +'type' = 'apr_pool_t *',
  +'name' = 'p'
  +  },
  +  {
   'type' = 'int',
   'name' = 'methnum'
 }
   -3620,6 +3638,20 
   ]
 },
 {
  +'return_type' = 'apr_status_t',
  +'name' = 'ap_recent_ctime',
  +'args' = [
  +  {
  +'type' = 'char *',
  +'name' = 'date_str'
  +  },
  +  {
  +'type' = 'apr_time_t',
  +'name' = 't'
  +  }
  +]
  +  },
  +  {
   'return_type' = 'void',
   'name' = 'ap_reclaim_child_processes',
   'args' = [
   -3854,7 +3886,7 
 },
 {
   'return_type' = 'apr_status_t',
  -'name' = 'ap_rgetline',
  +'name' = 'ap_rgetline_core',
   'args' = [
 {
   'type' = 'char **',
   -4005,6 +4037,10 
 {
   'type' = 'void *',
   'name' = 'sbh'
  +  },
  +  {
  +'type' = 'apr_bucket_alloc_t *',
  +'name' = 'alloc'
 }
   ]
 },
   -4286,6 +4322,10 
 {
   'type' = 'request_rec *',
   'name' = 'r'
  +  },
  +  {
  +'type' = 'int',
  +'name' = 'lookup_uri'
 }
   ]
 },
   -4413,6 +4453,24 
 },
 {
   'return_type' = 'int',
  +'name' = 'ap_scan_script_header_err_brigade',
  +'args' = [
  +  {
  +'type' = 'request_rec *',
  +'name' = 'r'
  +  },
  +  {
  +'type' = 'apr_bucket_brigade *',
  +'name' = 'bb'
  +  },
  +  {
  +'type' = 'char *',
  +'name' = 'buffer'
  +  }
  +]
  +  },
  +  {
  +'return_type' = 'int',
   'name' = 'ap_scan_script_header_err_core',
   'args' = [
 {
   -4570,6 +4628,20 
   ]
 },
 {
  +'return_type' = 'void',
  +'name' = 'ap_set_content_type',
  +'args' = [
  +  {
  +'type' = 'request_rec *',
  +'name' = 'r'
  +  },
  +  {
  +'type' = 'const char *',
  +'name' = 'ct'
  +  }
  +]
  +  },
  +  {
   'return_type' = 'const char *',
   'name' = 'ap_set_deprecated',
   'args' = [
   -5276,6

cvs commit: modperl-2.0/xs/maps apache_functions.map

2002-03-28 Thread dougm

dougm   02/03/28 16:52:44

  Modified:xs/maps  apache_functions.map
  Log:
  fix to build against current httpd-2.0
  
  Revision  ChangesPath
  1.46  +2 -2  modperl-2.0/xs/maps/apache_functions.map
  
  Index: apache_functions.map
  ===
  RCS file: /home/cvs/modperl-2.0/xs/maps/apache_functions.map,v
  retrieving revision 1.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- apache_functions.map  10 Mar 2002 00:14:23 -  1.45
  +++ apache_functions.map  29 Mar 2002 00:52:44 -  1.46
   -359,7 +359,7 
ap_hook_process_connection
ap_hook_translate_name
ap_hook_type_checker
  - ap_hook_quick_handler
  +!ap_hook_quick_handler
ap_hook_map_to_storage
ap_hook_create_request
ap_hook_error_log
   -422,7 +422,7 
   ap_run_get_mgmt_items
ap_run_map_to_storage
   ap_run_pre_mpm
  - ap_run_quick_handler
  +!ap_run_quick_handler
ap_invoke_handler
ap_die
   
  
  
  



cvs commit: modperl/t/net/perl util.pl

2002-03-26 Thread dougm

dougm   02/03/26 06:52:28

  Modified:.Changes
   t/net/perl util.pl
  Log:
  Submitted by:   Tatsuhiko Miyagawa
  Reviewed by:  dougm
  fix bug in modules/util test
  
  Revision  ChangesPath
  1.640 +3 -0  modperl/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.639
  retrieving revision 1.640
  diff -u -r1.639 -r1.640
  --- Changes   25 Mar 2002 18:45:23 -  1.639
  +++ Changes   26 Mar 2002 14:52:28 -  1.640
  @@ -10,6 +10,9 @@
   
   =item 1.26_01-dev
   
  +fix bug in modules/util test
  +[Tatsuhiko Miyagawa [EMAIL PROTECTED]]
  +
   Adjust the mailling list addresses
   's|\@apache\.org|\@perl.apache.org|' [Stas Bekman [EMAIL PROTECTED]]
   
  
  
  
  1.14  +1 -1  modperl/t/net/perl/util.pl
  
  Index: util.pl
  ===
  RCS file: /home/cvs/modperl/t/net/perl/util.pl,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- util.pl   25 Mar 2002 18:45:23 -  1.13
  +++ util.pl   26 Mar 2002 14:52:28 -  1.14
  @@ -152,7 +152,7 @@
 Perl: 21 secs (20.57 usr  0.14 sys = 20.71 cpu) 
   =cut
   
  -my $date_str = Sat, 18 Jul 1998 08:38:00 -0700;
  +my $date_str = Sat, 18 Jul 1998 08:38:00 GMT;
   
   test ++$i, Apache::Util::parsedate($date_str);
   
  
  
  



cvs commit: modperl/Util Util.pm

2002-03-26 Thread dougm

dougm   02/03/26 06:56:15

  Modified:Util Util.pm
  Log:
  Submitted by: Eric Cholet, Robin Berjon
  Reviewed by:  dougm
  doc: Apache::Util::escape_html is only meant to escape US-ASCII text
  
  Revision  ChangesPath
  1.9   +4 -0  modperl/Util/Util.pm
  
  Index: Util.pm
  ===
  RCS file: /home/cvs/modperl/Util/Util.pm,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- Util.pm   4 Mar 2000 20:55:47 -   1.8
  +++ Util.pm   26 Mar 2002 14:56:15 -  1.9
   -68,6 +68,10 
   
my $esc = Apache::Util::escape_html($html);
   
  +This function will correctly escape US-ASCII output. If you are using
  +a different character set such as UTF8, or need more control on
  +the escaping process, use HTML::Entities.
  +
   =item escape_uri
   
   This function replaces all unsafe characters in the $string with their
  
  
  



cvs commit: modperl-2.0/xs/Apache/Log Apache__Log.h

2002-03-25 Thread dougm

dougm   02/03/25 19:37:47

  Modified:xs/Apache/Log Apache__Log.h
  Log:
  workaround win32/5.6.1 bug which crashes when using PL_sv_no with do_join
  
  Revision  ChangesPath
  1.9   +24 -6 modperl-2.0/xs/Apache/Log/Apache__Log.h
  
  Index: Apache__Log.h
  ===
  RCS file: /home/cvs/modperl-2.0/xs/Apache/Log/Apache__Log.h,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- Apache__Log.h 4 May 2001 06:31:37 -   1.8
  +++ Apache__Log.h 26 Mar 2002 03:37:47 -  1.9
   -102,6 +102,27 
   #define mpxs_Apache__Server_log(sv) \
   mpxs_Apache__Log_log(aTHX_ sv, MP_LOG_SERVER)
   
  +static MP_INLINE SV *modperl_perl_do_join(pTHX_ SV **mark, SV **sp)
  +{
  +SV *sv = newSV(0);
  +SV *delim;
  +#ifdef WIN32
  +/* XXX: using PL_sv_no crashes on win32 with 5.6.1 */
  +delim = newSVpv(, 0);
  +#else
  +delim = SvREFCNT_inc(PL_sv_no);
  +#endif
  +
  +do_join(sv, delim, mark, sp);
  +
  +SvREFCNT_dec(delim);
  +
  +return sv;
  +}
  +
  +#define my_do_join(m, s) \
  +   modperl_perl_do_join(aTHX_ (m), (s))
  +
   static XS(MPXS_Apache__Log_dispatch)
   {
   dXSARGS;
   -115,8 +136,7 
   }
   
   if (items  2) {
  -msgsv = newSV(0);
  -do_join(msgsv, PL_sv_no, MARK+1, SP);
  +msgsv = my_do_join(MARK+1, SP);
   }
   else {
   msgsv = ST(1);
   -213,8 +233,7 
   status = (apr_status_t)SvIV(ST(4));
   
   if (items  6) {
  -msgsv = newSV(0);
  -do_join(msgsv, PL_sv_no, MARK+5, SP);
  +msgsv = my_do_join(MARK+5, SP);
   }
   else {
   msgsv = ST(5);
   -279,8 +298,7 
   }
   
   if (items  1+i) {
  -sv = newSV(0);
  -do_join(sv, PL_sv_no, MARK+i, SP); /* $sv = join '', _[1..$#_] */
  +sv = my_do_join(MARK+i, SP); /* $sv = join '', _[1..$#_] */
   errstr = SvPV(sv,n_a);
   }
   else {
  
  
  



cvs commit: modperl/t/net/perl util.pl

2002-03-25 Thread dougm

dougm   02/03/25 10:45:23

  Modified:.Changes
   src/modules/perl Util.xs
   t/net/perl util.pl
  Log:
  backing out change: properly escape highbit chars in Apache::Utils::escape_html
  
  Revision  ChangesPath
  1.639 +0 -4  modperl/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.638
  retrieving revision 1.639
  diff -u -r1.638 -r1.639
  --- Changes   25 Mar 2002 02:57:59 -  1.638
  +++ Changes   25 Mar 2002 18:45:23 -  1.639
  @@ -26,10 +26,6 @@
   properly deal with $r-status codes (e.g. redirect) in
   Apache::RegistryNG [Geoff Young [EMAIL PROTECTED]]
   
  -properly escape highbit chars in Apache::Utils::escape_html
  -[Geoff Young [EMAIL PROTECTED],
  -Robin Berjon [EMAIL PROTECTED]]
  -
   allow $r-auth_name and $r-auth_type to be set on win32
   [John Kelly [EMAIL PROTECTED]]
   
  
  
  
  1.11  +1 -8  modperl/src/modules/perl/Util.xs
  
  Index: Util.xs
  ===
  RCS file: /home/cvs/modperl/src/modules/perl/Util.xs,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- Util.xs   24 Mar 2002 21:57:53 -  1.10
  +++ Util.xs   25 Mar 2002 18:45:23 -  1.11
  @@ -32,9 +32,6 @@
   return sv;
   }
   
  -#define IS_HIGHBIT_CHAR(b) \
  -   ( (((unsigned char)(b))  126)  (((unsigned char)(b)) = 255) )
  -
   static SV *my_escape_html(char *s)
   {
   int i, j;
  @@ -46,7 +43,7 @@
j += 3;
else if (s[i] == '')
j += 4;
  -else if (s[i] == '' || IS_HIGHBIT_CHAR(s[i]))
  +else if (s[i] == '')
j += 5;
   
   if (j == 0)
  @@ -70,10 +67,6 @@
memcpy(SvPVX(x)[j], quot;, 6);
j += 5;
}
  -else if (IS_HIGHBIT_CHAR(s[i])) {
  -sprintf(SvPVX(x)[j], #%d;, (unsigned char)s[i]);
  -j += 5;
  -}
else
SvPVX(x)[j] = s[i];
   
  
  
  
  1.13  +1 -5  modperl/t/net/perl/util.pl
  
  Index: util.pl
  ===
  RCS file: /home/cvs/modperl/t/net/perl/util.pl,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- util.pl   24 Mar 2002 21:57:53 -  1.12
  +++ util.pl   25 Mar 2002 18:45:23 -  1.13
  @@ -2,7 +2,7 @@
   use Apache::test;
   $|++;
   my $i = 0;
  -my $tests = 8;
  +my $tests = 7;
   
   my $r = shift;
   $r-send_http_header('text/plain');
  @@ -61,10 +61,6 @@
   /body
   /html
   EOF
  -
  -#XXX: this test could be more robust, but its better than nothing
  -my $c = Apache::Util::escape_html(\x8b);
  -test ++$i, $c =~ /^\#\d{3,3}\;$/;
   
   my $txt = No html tags in here at all;
   my $etxt = Apache::Util::escape_html($txt);
  
  
  



cvs commit: modperl/lib/Apache ExtUtils.pm

2002-03-24 Thread dougm

dougm   02/03/24 11:06:03

  Modified:.Changes Makefile.PL
   lib/Apache ExtUtils.pm
  Log:
  Submitted by: stas
  Reviewed by:dougm
  rip -D_GNU_SOURCE out of Perl 5.7.3+'s ccflags, which modperl doesn't
  need and apache won't compile with
  
  Revision  ChangesPath
  1.629 +3 -0  modperl/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.628
  retrieving revision 1.629
  diff -u -r1.628 -r1.629
  --- Changes   24 Mar 2002 18:22:56 -  1.628
  +++ Changes   24 Mar 2002 19:06:03 -  1.629
  @@ -10,6 +10,9 @@
   
   =item 1.26_01-dev
   
  +rip -D_GNU_SOURCE out of Perl 5.7.3+'s ccflags, which modperl doesn't
  +need and apache won't compile with [Stas Bekman [EMAIL PROTECTED]]
  +
   make sure PerlSetEnv variables are visible after first access
   to each child [Geoff Young [EMAIL PROTECTED]]
   
  
  
  
  1.199 +3 -0  modperl/Makefile.PL
  
  Index: Makefile.PL
  ===
  RCS file: /home/cvs/modperl/Makefile.PL,v
  retrieving revision 1.198
  retrieving revision 1.199
  diff -u -r1.198 -r1.199
  --- Makefile.PL   24 Mar 2002 02:07:58 -  1.198
  +++ Makefile.PL   24 Mar 2002 19:06:03 -  1.199
  @@ -386,6 +386,9 @@
   $PERL_EXTRA_CFLAGS .=  $Config{ccflags};
   }
   
  +# apache-1.3.xx won't compile with -D_GNU_SOURCE
  +$PERL_EXTRA_CFLAGS =~ s/-D_GNU_SOURCE//;
  +
   for (keys %PassEnv) {
   $ENV{$_} = $$_ if $$_;
   }
  
  
  
  1.24  +1 -0  modperl/lib/Apache/ExtUtils.pm
  
  Index: ExtUtils.pm
  ===
  RCS file: /home/cvs/modperl/lib/Apache/ExtUtils.pm,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- ExtUtils.pm   25 Aug 2001 19:55:03 -  1.23
  +++ ExtUtils.pm   24 Mar 2002 19:06:03 -  1.24
  @@ -37,6 +37,7 @@
   my %config_fixups = (
  ccdlflags = sub { s/-R\s+/-R/; },
  ccflags = sub {
  +   s/-D_GNU_SOURCE//;
  unless ($Apache::MyConfig::Setup{PERL_USELARGEFILES}) {
  s/-D_LARGEFILE_SOURCE\s+-D_FILE_OFFSET_BITS=\d+//;
  }
  
  
  



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

2002-03-24 Thread dougm

dougm   02/03/24 12:45:18

  Modified:.Changes STATUS
   src/modules/perl perl_config.c
  Log:
  Submitted by:   Salvador Ortiz Garcia [EMAIL PROTECTED]
  Reviewed by:  dougm
  fix multiple %LocationMatch in Perl sections bug
  
  Revision  ChangesPath
  1.630 +3 -0  modperl/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.629
  retrieving revision 1.630
  diff -u -r1.629 -r1.630
  --- Changes   24 Mar 2002 19:06:03 -  1.629
  +++ Changes   24 Mar 2002 20:45:17 -  1.630
  @@ -10,6 +10,9 @@
   
   =item 1.26_01-dev
   
  +fix multiple %LocationMatch in Perl sections bug
  +[Salvador Ortiz Garcia [EMAIL PROTECTED]]
  +
   rip -D_GNU_SOURCE out of Perl 5.7.3+'s ccflags, which modperl doesn't
   need and apache won't compile with [Stas Bekman [EMAIL PROTECTED]]
   
  
  
  
  1.6   +1 -7  modperl/STATUS
  
  Index: STATUS
  ===
  RCS file: /home/cvs/modperl/STATUS,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- STATUS24 Mar 2002 18:22:56 -  1.5
  +++ STATUS24 Mar 2002 20:45:17 -  1.6
  @@ -1,5 +1,5 @@
   mod_perl 1.3 STATUS:
  -   Last modified at [$Date: 2002/03/24 18:22:56 $]
  +   Last modified at [$Date: 2002/03/24 20:45:17 $]
   
   
   Release:
  @@ -20,12 +20,6 @@
   Report: http://marc.theaimsgroup.com/?l=apache-modperlm=97449481013350w=2
Status: 
 doc patch at 
http://marc.theaimsgroup.com/?l=apache-modperlm=97450363501652w=2
  -
  -* %LocationMatch Perl bug
  -Report: http://marc.theaimsgroup.com/?l=apache-modperlm=98260537428737w=2
  - Status:
  -  may be fixed here
  -http://marc.theaimsgroup.com/?l=apache-modperlm=101366182205497w=2
   
   * PVIV issues
   Report: http://marc.theaimsgroup.com/?l=apache-modperlm=99905070209305w=2
  
  
  
  1.112 +6 -3  modperl/src/modules/perl/perl_config.c
  
  Index: perl_config.c
  ===
  RCS file: /home/cvs/modperl/src/modules/perl/perl_config.c,v
  retrieving revision 1.111
  retrieving revision 1.112
  diff -u -r1.111 -r1.112
  --- perl_config.c 11 Jul 2001 03:02:26 -  1.111
  +++ perl_config.c 24 Mar 2002 20:45:17 -  1.112
  @@ -1166,6 +1166,8 @@
   char *tmpkey; 
   I32 tmpklen; 
   SV *tmpval;
  +void *old_info = cmd-info;
  +
   (void)hv_iterinit(hv); 
   while ((tmpval = hv_iternextsv(hv, tmpkey, tmpklen))) { 
char line[MAX_STRING_LEN]; 
  @@ -1195,6 +1197,9 @@
if(errmsg)
log_printf(cmd-server, Perl: %s, errmsg);
   }
  +
  +cmd-info = old_info;
  +
   /* Emulate the handling of end token for the section */ 
   perl_set_config_vectors(cmd, cfg, core_module);
   } 
  @@ -1511,9 +1516,7 @@
   void *dummy = perl_set_config_vectors(cmd, config, core_module);
   void *old_info = cmd-info;
   
  -if (strstr(key, Match)) {
  - cmd-info = (void*)key;
  -}
  +cmd-info = (void *)strstr(key, Match);
   
   if(strnEQ(key, Location, 8))
perl_urlsection(cmd, dummy, hv);
  
  
  



cvs commit: modperl STATUS

2002-03-24 Thread dougm

dougm   02/03/24 12:53:41

  Modified:.STATUS
  Log:
  address the print() dereferencing issue
  
  Revision  ChangesPath
  1.7   +14 -7 modperl/STATUS
  
  Index: STATUS
  ===
  RCS file: /home/cvs/modperl/STATUS,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- STATUS24 Mar 2002 20:45:17 -  1.6
  +++ STATUS24 Mar 2002 20:53:41 -  1.7
   -1,5 +1,5 
   mod_perl 1.3 STATUS:
  -   Last modified at [$Date: 2002/03/24 20:45:17 $]
  +   Last modified at [$Date: 2002/03/24 20:53:41 $]
   
   
   Release:
   -21,12 +21,6 
Status: 
 doc patch at 
http://marc.theaimsgroup.com/?l=apache-modperlm=97450363501652w=2
   
  -* PVIV issues
  -Report: http://marc.theaimsgroup.com/?l=apache-modperlm=99905070209305w=2
  - Status:
  -  patch available
  -http://marc.theaimsgroup.com/?l=apache-modperlm=9116330145w=2
  -
   * mod_perl.h issues for Win32
   Report: 
http://marc.theaimsgroup.com/?l=apache-modperl-devm=101253855721619w=2
Status:
   -231,3 +225,16 
 production environment, as it adds quite a bit of bloat
   
   * docs: update CREDITS, cleanup install docs
  +
  +Patches unlikely to be applied:
  +
  +* print() dereferencing issues
  +Report: http://marc.theaimsgroup.com/?l=apache-modperlm=99905070209305w=2
  + Status:
  +  patch available
  +http://marc.theaimsgroup.com/?l=apache-modperlm=9116330145w=2
  +
  +  the feature of print() dereferencing scalars should be deprecated.
  +  therefor, i don't think this patch should be applied as it
  +  would introduce overhead to support a deprecated feature.
  +  user should simply dereference themselves, print $$foo; -dougm
  
  
  



cvs commit: modperl/t/net/perl util.pl

2002-03-24 Thread dougm

dougm   02/03/24 13:57:53

  Modified:.Changes STATUS
   src/modules/perl Util.xs
   t/net/perl util.pl
  Log:
  Submitted by:   Geoff Young [EMAIL PROTECTED]
  Reviewed by:  dougm
  properly escape highbit chars in Apache::Utils::escape_html
  
  Revision  ChangesPath
  1.633 +4 -0  modperl/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.632
  retrieving revision 1.633
  diff -u -r1.632 -r1.633
  --- Changes   24 Mar 2002 21:00:05 -  1.632
  +++ Changes   24 Mar 2002 21:57:53 -  1.633
  @@ -10,6 +10,10 @@
   
   =item 1.26_01-dev
   
  +properly escape highbit chars in Apache::Utils::escape_html
  +[Geoff Young [EMAIL PROTECTED],
  +Robin Berjon [EMAIL PROTECTED]]
  +
   allow $r-auth_name and $r-auth_type to be set on win32
   [John Kelly [EMAIL PROTECTED]]
   
  
  
  
  1.9   +1 -7  modperl/STATUS
  
  Index: STATUS
  ===
  RCS file: /home/cvs/modperl/STATUS,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- STATUS24 Mar 2002 21:00:20 -  1.8
  +++ STATUS24 Mar 2002 21:57:53 -  1.9
  @@ -1,5 +1,5 @@
   mod_perl 1.3 STATUS:
  -   Last modified at [$Date: 2002/03/24 21:00:20 $]
  +   Last modified at [$Date: 2002/03/24 21:57:53 $]
   
   
   Release:
  @@ -20,12 +20,6 @@
   Report: http://marc.theaimsgroup.com/?l=apache-modperlm=97449481013350w=2
Status: 
 doc patch at 
http://marc.theaimsgroup.com/?l=apache-modperlm=97450363501652w=2
  -
  -* Apache::Utils::escape_html issues
  -Report: http://marc.theaimsgroup.com/?l=apache-modperlm=101180404809059w=2
  - Status:
  -  patch available
  - 
http://marc.theaimsgroup.com/?l=apache-modperl-devm=101188287032621w=2
   
   * Apache::RegistryNG issues
   Report: 
http://marc.theaimsgroup.com/?l=apache-modperl-devm=101240123609773w=2
  
  
  
  1.10  +8 -1  modperl/src/modules/perl/Util.xs
  
  Index: Util.xs
  ===
  RCS file: /home/cvs/modperl/src/modules/perl/Util.xs,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- Util.xs   4 Mar 2000 20:55:47 -   1.9
  +++ Util.xs   24 Mar 2002 21:57:53 -  1.10
  @@ -32,6 +32,9 @@
   return sv;
   }
   
  +#define IS_HIGHBIT_CHAR(b) \
  +   ( (((unsigned char)(b))  126)  (((unsigned char)(b)) = 255) )
  +
   static SV *my_escape_html(char *s)
   {
   int i, j;
  @@ -43,7 +46,7 @@
j += 3;
else if (s[i] == '')
j += 4;
  -else if (s[i] == '')
  +else if (s[i] == '' || IS_HIGHBIT_CHAR(s[i]))
j += 5;
   
   if (j == 0)
  @@ -67,6 +70,10 @@
memcpy(SvPVX(x)[j], quot;, 6);
j += 5;
}
  +else if (IS_HIGHBIT_CHAR(s[i])) {
  +sprintf(SvPVX(x)[j], #%d;, (unsigned char)s[i]);
  +j += 5;
  +}
else
SvPVX(x)[j] = s[i];
   
  
  
  
  1.12  +5 -1  modperl/t/net/perl/util.pl
  
  Index: util.pl
  ===
  RCS file: /home/cvs/modperl/t/net/perl/util.pl,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- util.pl   6 Mar 2000 07:50:54 -   1.11
  +++ util.pl   24 Mar 2002 21:57:53 -  1.12
  @@ -2,7 +2,7 @@
   use Apache::test;
   $|++;
   my $i = 0;
  -my $tests = 7;
  +my $tests = 8;
   
   my $r = shift;
   $r-send_http_header('text/plain');
  @@ -61,6 +61,10 @@
   /body
   /html
   EOF
  +
  +#XXX: this test could be more robust, but its better than nothing
  +my $c = Apache::Util::escape_html(\x8b);
  +test ++$i, $c =~ /^\#\d{3,3}\;$/;
   
   my $txt = No html tags in here at all;
   my $etxt = Apache::Util::escape_html($txt);
  
  
  



cvs commit: modperl/lib/Apache RegistryNG.pm

2002-03-24 Thread dougm

dougm   02/03/24 14:06:39

  Modified:.Changes STATUS
   lib/Apache RegistryNG.pm
  Log:
  Submitted by: Geoff Young
  Reviewed by:  dougm
  properly deal with $r-status codes (e.g. redirect) in
  Apache::RegistryNG
  
  Revision  ChangesPath
  1.634 +3 -0  modperl/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.633
  retrieving revision 1.634
  diff -u -r1.633 -r1.634
  --- Changes   24 Mar 2002 21:57:53 -  1.633
  +++ Changes   24 Mar 2002 22:06:39 -  1.634
  @@ -10,6 +10,9 @@
   
   =item 1.26_01-dev
   
  +properly deal with $r-status codes (e.g. redirect) in
  +Apache::RegistryNG [Geoff Young [EMAIL PROTECTED]]
  +
   properly escape highbit chars in Apache::Utils::escape_html
   [Geoff Young [EMAIL PROTECTED],
   Robin Berjon [EMAIL PROTECTED]]
  
  
  
  1.10  +1 -6  modperl/STATUS
  
  Index: STATUS
  ===
  RCS file: /home/cvs/modperl/STATUS,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- STATUS24 Mar 2002 21:57:53 -  1.9
  +++ STATUS24 Mar 2002 22:06:39 -  1.10
  @@ -1,5 +1,5 @@
   mod_perl 1.3 STATUS:
  -   Last modified at [$Date: 2002/03/24 21:57:53 $]
  +   Last modified at [$Date: 2002/03/24 22:06:39 $]
   
   
   Release:
  @@ -20,11 +20,6 @@
   Report: http://marc.theaimsgroup.com/?l=apache-modperlm=97449481013350w=2
Status: 
 doc patch at 
http://marc.theaimsgroup.com/?l=apache-modperlm=97450363501652w=2
  -
  -* Apache::RegistryNG issues
  -Report: 
http://marc.theaimsgroup.com/?l=apache-modperl-devm=101240123609773w=2
  - Status:
  -  patch available 
   
   * vanishing symbol tables
   Report: http://marc.theaimsgroup.com/?l=apache-modperlm=100820262006934w=2
  
  
  
  1.8   +7 -1  modperl/lib/Apache/RegistryNG.pm
  
  Index: RegistryNG.pm
  ===
  RCS file: /home/cvs/modperl/lib/Apache/RegistryNG.pm,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- RegistryNG.pm 28 Sep 2000 19:59:39 -  1.7
  +++ RegistryNG.pm 24 Mar 2002 22:06:39 -  1.8
  @@ -48,9 +48,15 @@
$pr-set_mtime;
   }
   
  +my $old_status = $r-status;
  +
   $rc = $pr-run(@_);
   $pr-chdir_file($Apache::Server::CWD/);
  -return ($rc != OK) ? $rc : $pr-status;
  +
  +my $pr_status = $pr-status;
  +$r-status($old_status);
  +
  +return ($rc != OK) ? $rc : $pr_status;
   }
   
   1;
  
  
  



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

2002-03-24 Thread dougm

dougm   02/03/24 14:51:04

  Modified:.Changes STATUS
   src/modules/perl perl_config.c
  Log:
  Submitted by: Stephen Clouse [EMAIL PROTECTED]
  Reviewed by:  dougm
  do not clear symbol tables within a package in perl_clear_symtab()
  used by directive handler extensions
  
  Revision  ChangesPath
  1.635 +4 -0  modperl/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.634
  retrieving revision 1.635
  diff -u -r1.634 -r1.635
  --- Changes   24 Mar 2002 22:06:39 -  1.634
  +++ Changes   24 Mar 2002 22:51:04 -  1.635
  @@ -10,6 +10,10 @@
   
   =item 1.26_01-dev
   
  +do not clear symbol tables within a package in perl_clear_symtab()
  +used by directive handler extensions
  +[Stephen Clouse [EMAIL PROTECTED]]
  +
   properly deal with $r-status codes (e.g. redirect) in
   Apache::RegistryNG [Geoff Young [EMAIL PROTECTED]]
   
  
  
  
  1.11  +1 -6  modperl/STATUS
  
  Index: STATUS
  ===
  RCS file: /home/cvs/modperl/STATUS,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- STATUS24 Mar 2002 22:06:39 -  1.10
  +++ STATUS24 Mar 2002 22:51:04 -  1.11
  @@ -1,5 +1,5 @@
   mod_perl 1.3 STATUS:
  -   Last modified at [$Date: 2002/03/24 22:06:39 $]
  +   Last modified at [$Date: 2002/03/24 22:51:04 $]
   
   
   Release:
  @@ -21,11 +21,6 @@
Status: 
 doc patch at 
http://marc.theaimsgroup.com/?l=apache-modperlm=97450363501652w=2
   
  -* vanishing symbol tables
  -Report: http://marc.theaimsgroup.com/?l=apache-modperlm=100820262006934w=2
  - Status:
  -  patch available
  -
   * $r-finfo problem with HTML::Mason::ApacheHandler
   Report: http://marc.theaimsgroup.com/?l=apache-modperlm=96854561311519w=2
Status:
  
  
  
  1.114 +22 -1 modperl/src/modules/perl/perl_config.c
  
  Index: perl_config.c
  ===
  RCS file: /home/cvs/modperl/src/modules/perl/perl_config.c,v
  retrieving revision 1.113
  retrieving revision 1.114
  diff -u -r1.113 -r1.114
  --- perl_config.c 24 Mar 2002 21:00:06 -  1.113
  +++ perl_config.c 24 Mar 2002 22:51:04 -  1.114
  @@ -1666,6 +1666,27 @@
   }   
   }
   
  +static int gvhv_is_stash(GV *gv)
  +{
  +int len = GvNAMELEN(gv);
  +char *name = GvNAME(gv);
  +
  +if ((len  2) 
  +(name[len - 1] == ':') 
  +(name[len - 2] == ':'))
  +{
  +return 1;
  +}
  +
  +return 0;
  +}
  +
  +/*
  + * we do not clear symbols within packages, the desired behavior
  + * for directive handler classes.  and there should never be a package
  + * within the %Apache::ReadConfig.  nothing else that i'm aware of calls
  + * this function, so we should be ok.
  + */
   void perl_clear_symtab(HV *symtab) 
   {
   SV *val;
  @@ -1684,7 +1705,7 @@
continue;
if((sv = GvSV((GV*)val)))
sv_setsv(GvSV((GV*)val), sv_undef);
  - if((hv = GvHV((GV*)val)))
  + if((hv = GvHV((GV*)val))  !gvhv_is_stash((GV*)val))
hv_clear(hv);
if((av = GvAV((GV*)val)))
av_clear(av);
  
  
  



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

2002-03-24 Thread dougm

dougm   02/03/24 15:01:33

  Modified:.Changes STATUS
   src/modules/perl mod_perl.c mod_perl.h perl_util.c
  Log:
  Submitted by: Tatsuhiko Miyagawa [EMAIL PROTECTED]
  Reviewed by:  dougm
  PERL5LIB support now properly unshifts paths into @INC rather than push
  
  Revision  ChangesPath
  1.636 +3 -0  modperl/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.635
  retrieving revision 1.636
  diff -u -r1.635 -r1.636
  --- Changes   24 Mar 2002 22:51:04 -  1.635
  +++ Changes   24 Mar 2002 23:01:33 -  1.636
  @@ -10,6 +10,9 @@
   
   =item 1.26_01-dev
   
  +PERL5LIB support now properly unshifts paths into @INC rather than push
  +[Tatsuhiko Miyagawa [EMAIL PROTECTED]]
  +
   do not clear symbol tables within a package in perl_clear_symtab()
   used by directive handler extensions
   [Stephen Clouse [EMAIL PROTECTED]]
  
  
  
  1.12  +1 -7  modperl/STATUS
  
  Index: STATUS
  ===
  RCS file: /home/cvs/modperl/STATUS,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- STATUS24 Mar 2002 22:51:04 -  1.11
  +++ STATUS24 Mar 2002 23:01:33 -  1.12
  @@ -1,5 +1,5 @@
   mod_perl 1.3 STATUS:
  -   Last modified at [$Date: 2002/03/24 22:51:04 $]
  +   Last modified at [$Date: 2002/03/24 23:01:33 $]
   
   
   Release:
  @@ -37,12 +37,6 @@
   Report: 
http://marc.theaimsgroup.com/?l=apache-modperl-devm=98278446807561w=2
Status:
patch available
  -
  -* PERL5LIB should unshift @INC instead of push
  -Report: 
http://marc.theaimsgroup.com/?l=apache-modperl-devm=100434522809036w=2
  -Status:
  - patch available
  -
   
   Needs Patch or Further Investigation
   
  
  
  
  1.143 +2 -2  modperl/src/modules/perl/mod_perl.c
  
  Index: mod_perl.c
  ===
  RCS file: /home/cvs/modperl/src/modules/perl/mod_perl.c,v
  retrieving revision 1.142
  retrieving revision 1.143
  diff -u -r1.142 -r1.143
  --- mod_perl.c24 Mar 2002 18:22:56 -  1.142
  +++ mod_perl.c24 Mar 2002 23:01:33 -  1.143
  @@ -747,7 +747,7 @@
   #endif

   #ifdef APACHE_PERL5LIB
  -perl_incpush(APACHE_PERL5LIB);
  +perl_inc_unshift(APACHE_PERL5LIB);
   #else
   av_push(GvAV(incgv), newSVpv(server_root_relative(p,),0));
   av_push(GvAV(incgv), newSVpv(server_root_relative(p,lib/perl),0));
  @@ -1412,7 +1412,7 @@
char *path = (char *)table_get(r-subprocess_env, PERL5LIB);
   
if (path) {
  - perl_incpush(path);
  +   perl_inc_unshift(path);
MP_INCPUSH_on(cld);
}
   }
  
  
  
  1.113 +1 -1  modperl/src/modules/perl/mod_perl.h
  
  Index: mod_perl.h
  ===
  RCS file: /home/cvs/modperl/src/modules/perl/mod_perl.h,v
  retrieving revision 1.112
  retrieving revision 1.113
  diff -u -r1.112 -r1.113
  --- mod_perl.h24 Mar 2002 20:57:23 -  1.112
  +++ mod_perl.h24 Mar 2002 23:01:33 -  1.113
  @@ -1179,7 +1179,7 @@
   void mod_perl_init_ids(void);
   int perl_eval_ok(server_rec *s);
   int perl_sv_is_http_code(SV *sv, int *status);
  -void perl_incpush(char *s);
  +void perl_inc_unshift(char *s);
   SV *mod_perl_sv_name(SV *svp);
   void mod_perl_mark_where(char *where, SV *sub);
   
  
  
  
  1.47  +3 -2  modperl/src/modules/perl/perl_util.c
  
  Index: perl_util.c
  ===
  RCS file: /home/cvs/modperl/src/modules/perl/perl_util.c,v
  retrieving revision 1.46
  retrieving revision 1.47
  diff -u -r1.46 -r1.47
  --- perl_util.c   17 Apr 2001 21:30:02 -  1.46
  +++ perl_util.c   24 Mar 2002 23:01:33 -  1.47
  @@ -785,7 +785,7 @@
   #define PERLLIB_SEP ':'
   #endif
   
  -void perl_incpush(char *p)
  +void perl_inc_unshift(char *p)
   {
   if(!p) return;
   
  @@ -803,7 +803,8 @@
sv_setpv(libdir, p);
p = Nullch;
}
  - av_push(GvAV(incgv), libdir);
  +   av_unshift(GvAV(incgv), 1);
  +   av_store(GvAV(incgv), 0, libdir);
   }
   }
   
  
  
  



cvs commit: modperl/apaci load_modules.pl.PL

2002-03-24 Thread dougm

dougm   02/03/24 16:16:20

  Modified:apaciload_modules.pl.PL
  Log:
  5.7.3+ File::Find croaks if the finddepth directory does not exist,
  which it doesn't when building with USE_APXS=1
  
  Revision  ChangesPath
  1.4   +1 -1  modperl/apaci/load_modules.pl.PL
  
  Index: load_modules.pl.PL
  ===
  RCS file: /home/cvs/modperl/apaci/load_modules.pl.PL,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- load_modules.pl.PL7 Apr 1999 19:10:16 -   1.3
  +++ load_modules.pl.PL25 Mar 2002 00:16:20 -  1.4
   -40,7 +40,7 
   }
   return if $name =~ /(auth|autoindex|digest)/; #a few that screw make test
   push sh_mods, LoadModule ${name}_module $full;
  -}, $APACHE_SRC);
  +}, $APACHE_SRC) if $APACHE_SRC and -d $APACHE_SRC;
   
   my($perl_mod) = grep /perl/, sh_mods;
   unshift sh_mods, $perl_mod; #must come before mod_include/USE_PERL_SSI
  
  
  



cvs commit: modperl Changes

2002-03-24 Thread dougm

dougm   02/03/24 17:59:02

  Modified:lib/Apache PerlRun.pm
   .Changes
  Log:
  Apache::PerlRun will now localize $SIG{__{DIE,WARN}__}
  
  Revision  ChangesPath
  1.38  +5 -0  modperl/lib/Apache/PerlRun.pm
  
  Index: PerlRun.pm
  ===
  RCS file: /home/cvs/modperl/lib/Apache/PerlRun.pm,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- PerlRun.pm11 Jul 2001 15:11:57 -  1.37
  +++ PerlRun.pm25 Mar 2002 01:59:02 -  1.38
  @@ -280,6 +280,11 @@
   $pr-set_script_name;
   $pr-chdir_file;
   my $line = $pr-mark_line;
  +
  +#make sure this hooks are restored to their original state
  +local $SIG{__DIE__}  = $SIG{__DIE__};
  +local $SIG{__WARN__} = $SIG{__WARN__};
  +
   my %orig_inc = %INC;
   my $eval = join '',
'package ',
  
  
  
  1.637 +3 -0  modperl/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.636
  retrieving revision 1.637
  diff -u -r1.636 -r1.637
  --- Changes   24 Mar 2002 23:01:33 -  1.636
  +++ Changes   25 Mar 2002 01:59:02 -  1.637
  @@ -10,6 +10,9 @@
   
   =item 1.26_01-dev
   
  +Apache::PerlRun will now localize $SIG{__{DIE,WARN}__}
  +thanks to Jon Coulter for the spot
  +
   PERL5LIB support now properly unshifts paths into @INC rather than push
   [Tatsuhiko Miyagawa [EMAIL PROTECTED]]
   
  
  
  



cvs commit: modperl-2.0/src/modules/perl modperl_io.c

2002-03-23 Thread dougm

dougm   02/03/23 18:36:41

  Modified:src/modules/perl modperl_io.c
  Log:
  figure out which tiehandle SV to use at compile as 1.x does, rather
  than at runtime
  
  Revision  ChangesPath
  1.7   +12 -10modperl-2.0/src/modules/perl/modperl_io.c
  
  Index: modperl_io.c
  ===
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_io.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- modperl_io.c  8 Jan 2002 19:04:22 -   1.6
  +++ modperl_io.c  24 Mar 2002 02:36:41 -  1.7
   -1,5 +1,11 
   #include mod_perl.h
   
  +#if ((PERL_REVISION == 5)  (PERL_VERSION = 7))
  +#   define TIEHANDLE_SV(handle) (SV*)GvIOp((SV*)handle)
  +#else
  +#   define TIEHANDLE_SV(handle) (SV*)handle
  +#endif
  +
   #define dHANDLE(name) GV *handle = gv_fetchpv(name, TRUE, SVt_PVIO)
   
   #define TIEHANDLE(handle,r) \
   -16,20 +22,17 
   MP_INLINE void modperl_io_handle_untie(pTHX_ GV *handle)
   {
   #ifdef MP_TRACE
  -if (mg_find((SV*)handle, 'q') ||
  -mg_find((SV*)GvIOp(handle), 'q'))
  -{
  +if (mg_find(TIEHANDLE_SV(handle), 'q')) {
   MP_TRACE_g(MP_FUNC, untie *%s(0x%lx), REFCNT=%d\n,
  GvNAME(handle), (unsigned long)handle,
  -   SvREFCNT((SV*)handle));
  +   SvREFCNT(TIEHANDLE_SV(handle)));
   }
   else {
   return;
   }
   #endif
   
  -sv_unmagic((SV*)handle, 'q');
  -sv_unmagic((SV*)GvIOp(handle), 'q');
  +sv_unmagic(TIEHANDLE_SV(handle), 'q');
   }
   
   MP_INLINE void modperl_io_handle_tie(pTHX_ GV *handle,
   -39,20 +42,19 
   
   modperl_io_handle_untie(aTHX_ handle);
   
  -sv_magic((SV*)handle, obj, 'q', Nullch, 0);
  -sv_magic((SV*)GvIOp(handle), obj, 'q', Nullch, 0);
  +sv_magic(TIEHANDLE_SV(handle), obj, 'q', Nullch, 0);
   
   SvREFCNT_dec(obj); /* since sv_magic did SvREFCNT_inc */
   
   MP_TRACE_g(MP_FUNC, tie *%s(0x%lx) = %s, REFCNT=%d\n,
  GvNAME(handle), (unsigned long)handle, classname,
  -   SvREFCNT((SV*)handle));
  +   SvREFCNT(TIEHANDLE_SV(handle)));
   }
   
   MP_INLINE int modperl_io_handle_tied(pTHX_ GV *handle, char *classname)
   {
   MAGIC *mg;
  -SV *sv = SvMAGICAL(GvIOp(handle)) ? (SV*)GvIOp(handle) : (SV*)handle;
  +SV *sv = TIEHANDLE_SV(handle);
   
   if (SvMAGICAL(sv)  (mg = mg_find(sv, 'q'))) {
char *package = HvNAME(SvSTASH((SV*)SvRV(mg-mg_obj)));
  
  
  



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

2002-03-23 Thread dougm

dougm   02/03/23 18:17:10

  Modified:.STATUS
   src/modules/perl perlio.c
  Log:
  fix tiehandle fix so it will compile with Perls  5.6.0
  and fold some duplication in the original patch
  
  Revision  ChangesPath
  1.4   +1 -5  modperl/STATUS
  
  Index: STATUS
  ===
  RCS file: /home/cvs/modperl/STATUS,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- STATUS24 Mar 2002 02:07:58 -  1.3
  +++ STATUS24 Mar 2002 02:17:09 -  1.4
   -1,5 +1,5 
   mod_perl 1.3 STATUS:
  -   Last modified at [$Date: 2002/03/24 02:07:58 $]
  +   Last modified at [$Date: 2002/03/24 02:17:09 $]
   
   
   Release:
   -120,10 +120,6 
   * Apache-server-register_cleanup
   Report: ?
Status:
  -
  -* bleedperl TIEHANDLE issues?
  -Report: 
http://marc.theaimsgroup.com/?l=apache-modperl-devm=99909095916498w=2
  -Status:
   
   * Apache-request(bless {r = $r}, 'My::Apache')
   Report: 
http://marc.theaimsgroup.com/?l=apache-modperl-devm=98600785703290w=2
  
  
  
  1.9   +10 -13modperl/src/modules/perl/perlio.c
  
  Index: perlio.c
  ===
  RCS file: /home/cvs/modperl/src/modules/perl/perlio.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- perlio.c  19 Mar 2002 02:18:02 -  1.8
  +++ perlio.c  24 Mar 2002 02:17:10 -  1.9
   -51,25 +51,22 
   
   #define dHANDLE(name) GV *handle = gv_fetchpv(name, TRUE, SVt_PVIO)
   
  -#if (PERL_REVISION == 5  PERL_VERSION  7)
  +#ifdef PERL_REVISION
  +#   if ((PERL_REVISION == 5)  (PERL_VERSION = 7))
  +#  define TIEHANDLE_SV(handle) (SV*)GvIOp((SV*)handle)
  +#   endif
  +#endif
   
  -#define TIEHANDLE(name,obj) \
  -{ \
  -  dHANDLE(name); \
  -  sv_unmagic((SV*)handle, 'q'); \
  -  sv_magic((SV*)handle, obj, 'q', Nullch, 0); \
  -}
  -
  -#else
  +#ifndef TIEHANDLE_SV
  +#   define TIEHANDLE_SV(handle) (SV*)handle
  +#endif
   
   #define TIEHANDLE(name,obj) \
   { \
 dHANDLE(name); \
  -  sv_unmagic((SV*)GvIOp((SV*)handle), 'q'); \
  -  sv_magic((SV*)GvIOp((SV*)handle), obj, 'q', Nullch, 0); \
  +  sv_unmagic(TIEHANDLE_SV(handle), 'q'); \
  +  sv_magic(TIEHANDLE_SV(handle), obj, 'q', Nullch, 0); \
   }
  -
  -#endif 
   
   #if 0
   #define TIED tied_handle
  
  
  



cvs commit: modperl/lib/Apache test.pm

2002-03-23 Thread dougm

dougm   02/03/23 18:55:44

  Modified:lib/Apache test.pm
  Log:
  change lwp default to use HTTP/1.0, preventing a pile of warnings in
  t/internal/http-get
  
  Revision  ChangesPath
  1.24  +2 -0  modperl/lib/Apache/test.pm
  
  Index: test.pm
  ===
  RCS file: /home/cvs/modperl/lib/Apache/test.pm,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- test.pm   26 Aug 2001 18:29:55 -  1.23
  +++ test.pm   24 Mar 2002 02:55:44 -  1.24
   -12,6 +12,8 
   EXPORT_OK = qw(have_httpd);
   
   BEGIN { 
  +$ENV{PERL_LWP_USE_HTTP_10} = 1; #default to http/1.0
  +
   if(not $ENV{MOD_PERL}) {
eval { require net/config.pl; }; #for 'make test'
$PERL_DIR = $net::perldir;
  
  
  



cvs commit: modperl MANIFEST

2002-03-23 Thread dougm

dougm   02/03/23 19:02:45

  Modified:.MANIFEST
  Log:
  add missing files to MANIFEST that caused t/internal/redirect #4 to fail
  
  Revision  ChangesPath
  1.70  +2 -0  modperl/MANIFEST
  
  Index: MANIFEST
  ===
  RCS file: /home/cvs/modperl/MANIFEST,v
  retrieving revision 1.69
  retrieving revision 1.70
  diff -u -r1.69 -r1.70
  --- MANIFEST  6 Mar 2002 13:45:41 -   1.69
  +++ MANIFEST  24 Mar 2002 03:02:44 -  1.70
   -173,6 +173,8 
   t/net/perl/request-cookie.pl
   #t/net/perl/resolver.pl
   t/net/perl/io/redir.pl
  +t/net/perl/io/redir1.pl
  +t/net/perl/io/redir2.pl
   t/net/perl/io/perlio.pl
   t/net/perl/io/ssi1.pl
   t/net/perl/io/ssi2.pl
  
  
  



cvs commit: modperl-2.0/src/modules/perl modperl_log.h

2002-03-13 Thread dougm

dougm   02/03/13 09:21:53

  Modified:src/modules/perl modperl_log.h
  Log:
  Submitted by:   Philippe M. Chiasson [EMAIL PROTECTED]
  Reviewed by:  dougm
  fix MP_FUNC for gcc3
  
  Revision  ChangesPath
  1.7   +9 -4  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.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- modperl_log.h 11 Oct 2001 19:14:06 -  1.6
  +++ modperl_log.h 13 Mar 2002 17:21:53 -  1.7
  @@ -2,10 +2,15 @@
   #define MODPERL_LOG_H
   
   #ifdef MP_TRACE
  -/* XXX: not every cc supports this
  - * sort out later
  - */
  -#   define MP_FUNC __FUNCTION__
  +#   if defined(__GNUC__)
  +#  if (__GNUC__  2)
  +# define MP_FUNC __func__
  +#  else
  +# define MP_FUNC __FUNCTION__
  +#  endif
  +#   else
  +#  define MP_FUNC MP_FUNC
  +#   endif
   #else
   #   define MP_FUNC MP_FUNC
   #endif
  
  
  



cvs commit: modperl-2.0/src/modules/perl mod_perl.c modperl_filter.c

2002-03-09 Thread dougm

dougm   02/03/09 16:09:52

  Modified:src/modules/perl mod_perl.c modperl_filter.c
  Log:
  Submitted by:   Philippe M. Chiasson [EMAIL PROTECTED]
  Reviewed by:  dougm
  sync with filter name changes
  
  Revision  ChangesPath
  1.109 +2 -2  modperl-2.0/src/modules/perl/mod_perl.c
  
  Index: mod_perl.c
  ===
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.c,v
  retrieving revision 1.108
  retrieving revision 1.109
  diff -u -r1.108 -r1.109
  --- mod_perl.c26 Feb 2002 19:01:38 -  1.108
  +++ mod_perl.c10 Mar 2002 00:09:52 -  1.109
  @@ -504,11 +504,11 @@
   
   ap_register_output_filter(MODPERL_OUTPUT_FILTER_NAME,
 modperl_output_filter_handler,
  -  AP_FTYPE_CONTENT);
  +  AP_FTYPE_CONTENT_SET);
   
   ap_register_input_filter(MODPERL_INPUT_FILTER_NAME,
modperl_input_filter_handler,
  - AP_FTYPE_CONTENT);
  + AP_FTYPE_CONTENT_SET);
   
   ap_hook_pre_connection(modperl_hook_pre_connection,
  NULL, NULL, APR_HOOK_FIRST);
  
  
  
  1.32  +1 -1  modperl-2.0/src/modules/perl/modperl_filter.c
  
  Index: modperl_filter.c
  ===
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_filter.c,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- modperl_filter.c  25 Jan 2002 04:04:22 -  1.31
  +++ modperl_filter.c  10 Mar 2002 00:09:52 -  1.32
  @@ -506,7 +506,7 @@
   
   ctx = (modperl_filter_ctx_t *)apr_pcalloc(r-pool, sizeof(*ctx));
   ctx-handler = handlers[i];
  -addfunc(name, (void*)ctx, r, NULL);
  +addfunc(name, (void*)ctx, r, r-connection);
   }
   
   return OK;
  
  
  



cvs commit: modperl-2.0/xs/maps apr_structures.map apr_types.map

2002-03-09 Thread dougm

dougm   02/03/09 16:11:50

  Modified:xs/maps  apr_structures.map apr_types.map
  Log:
  Submitted by: Philippe M. Chiasson [EMAIL PROTECTED]
  Reviewed by:  dougm
  adjust to apr_exploded_time_t = apr_time_exp_t rename
  
  Revision  ChangesPath
  1.7   +2 -2  modperl-2.0/xs/maps/apr_structures.map
  
  Index: apr_structures.map
  ===
  RCS file: /home/cvs/modperl-2.0/xs/maps/apr_structures.map,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- apr_structures.map10 Sep 2001 05:49:04 -  1.6
  +++ apr_structures.map10 Mar 2002 00:11:50 -  1.7
  @@ -67,7 +67,7 @@
  err
   /apr_proc_t
   
  -!apr_exploded_time_t
  +!apr_time_exp_t
  tm_usec
  tm_sec
  tm_min
  @@ -79,7 +79,7 @@
  tm_yday
  tm_isdst
  tm_gmtoff
  -/apr_exploded_time_t
  +/apr_time_exp_t
   
   #generic data structures
   
  
  
  
  1.12  +1 -1  modperl-2.0/xs/maps/apr_types.map
  
  Index: apr_types.map
  ===
  RCS file: /home/cvs/modperl-2.0/xs/maps/apr_types.map,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- apr_types.map 31 Dec 2001 12:11:48 -  1.11
  +++ apr_types.map 10 Mar 2002 00:11:50 -  1.12
  @@ -78,7 +78,7 @@
   apr_other_child_rec_t| UNDEFINED
   
   #time stuff
  -struct apr_exploded_time_t| APR::ExplodedTime
  +struct apr_time_exp_t| APR::ExplodedTime
   struct apr_os_exp_time_t  | UNDEFINED
   struct apr_os_imp_time_t  | NOTIMPL
   
  
  
  



cvs commit: modperl-2.0/xs/maps apache_functions.map

2002-03-09 Thread dougm

dougm   02/03/09 16:14:23

  Modified:xs/maps  apache_functions.map
  Log:
  Submitted by:   Philippe M. Chiasson [EMAIL PROTECTED]
  Reviewed by:  dougm
  fix $r-no_cache
  
  Revision  ChangesPath
  1.45  +0 -1  modperl-2.0/xs/maps/apache_functions.map
  
  Index: apache_functions.map
  ===
  RCS file: /home/cvs/modperl-2.0/xs/maps/apache_functions.map,v
  retrieving revision 1.44
  retrieving revision 1.45
  diff -u -r1.44 -r1.45
  --- apache_functions.map  26 Feb 2002 19:04:24 -  1.44
  +++ apache_functions.map  10 Mar 2002 00:14:23 -  1.45
  @@ -42,7 +42,6 @@
   !ap_content_type_tolower
ap_get_status_line
ap_is_initial_req
  - mpxs_Apache__RequestRec_no_cache
ap_method_register
   ap_method_registry_init
   ap_process_request_internal
  
  
  



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

2002-03-09 Thread dougm

dougm   02/03/09 16:17:05

  Modified:xs/tables/current/Apache ConstantsTable.pm FunctionTable.pm
StructureTable.pm
   xs/tables/current/ModPerl FunctionTable.pm
  Log:
  sync
  
  Revision  ChangesPath
  1.22  +4 -3  modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm
  
  Index: ConstantsTable.pm
  ===
  RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- ConstantsTable.pm 20 Jan 2002 18:35:26 -  1.21
  +++ ConstantsTable.pm 10 Mar 2002 00:17:05 -  1.22
   -2,7 +2,7 
   
   # !!
   # ! WARNING: generated by Apache::ParseSource/0.02
  -# !  Sun Jan 20 10:13:22 2002
  +# !  Sat Mar  9 16:13:55 2002
   # !  do NOT edit, any changes will be lost !
   # !!
   
   -133,8 +133,9 
 'HTTP_NOT_EXTENDED'
   ],
   'filter_type' = [
  -  'AP_FTYPE_CONTENT',
  -  'AP_FTYPE_HTTP_HEADER',
  +  'AP_FTYPE_RESOURCE',
  +  'AP_FTYPE_CONTENT_SET',
  +  'AP_FTYPE_PROTOCOL',
 'AP_FTYPE_TRANSCODE',
 'AP_FTYPE_CONNECTION',
 'AP_FTYPE_NETWORK'
  
  
  
  1.34  +334 -146  modperl-2.0/xs/tables/current/Apache/FunctionTable.pm
  
  Index: FunctionTable.pm
  ===
  RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/FunctionTable.pm,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- FunctionTable.pm  30 Jan 2002 03:29:38 -  1.33
  +++ FunctionTable.pm  10 Mar 2002 00:17:05 -  1.34
   -2,7 +2,7 
   
   # !!
   # ! WARNING: generated by Apache::ParseSource/0.02
  -# !  Tue Jan 29 19:27:23 2002
  +# !  Sat Mar  9 16:14:02 2002
   # !  do NOT edit, any changes will be lost !
   # !!
   
   -848,7 +848,7 
   'name' = 'ap_explode_recent_gmt',
   'args' = [
 {
  -'type' = 'apr_exploded_time_t *',
  +'type' = 'apr_time_exp_t *',
   'name' = 'tm'
 },
 {
   -862,7 +862,7 
   'name' = 'ap_explode_recent_localtime',
   'args' = [
 {
  -'type' = 'apr_exploded_time_t *',
  +'type' = 'apr_time_exp_t *',
   'name' = 'tm'
 },
 {
   -1158,6 +1158,16 
   ]
 },
 {
  +'return_type' = 'ap_filter_rec_t *',
  +'name' = 'ap_get_input_filter_handle',
  +'args' = [
  +  {
  +'type' = 'const char *',
  +'name' = 'name'
  +  }
  +]
  +  },
  +  {
   'return_type' = 'apr_off_t',
   'name' = 'ap_get_limit_req_body',
   'args' = [
   -1202,6 +1212,16 
   ]
 },
 {
  +'return_type' = 'ap_filter_rec_t *',
  +'name' = 'ap_get_output_filter_handle',
  +'args' = [
  +  {
  +'type' = 'const char *',
  +'name' = 'name'
  +  }
  +]
  +  },
  +  {
   'return_type' = 'const char *',
   'name' = 'ap_get_remote_host',
   'args' = [
   -1505,11 +1525,6 
   ]
 },
 {
  -'return_type' = 'int',
  -'name' = 'ap_graceful_stop_signalled',
  -'args' = []
  -  },
  -  {
   'return_type' = 'void',
   'name' = 'ap_hook_access_checker',
   'args' = [
   -1599,6 +1614,28 
 },
 {
   'return_type' = 'void',
  +'name' = 'ap_hook_create_connection',
  +'args' = [
  +  {
  +'type' = 'ap_HOOK_create_connection_t *',
  +'name' = 'pf'
  +  },
  +  {
  +'type' = 'const char * const *',
  +'name' = 'aszPre'
  +  },
  +  {
  +'type' = 'const char * const *',
  +'name' = 'aszSucc'
  +  },
  +  {
  +'type' = 'int',
  +'name' = 'nOrder'
  +  }
  +]
  +  },
  +  {
  +'return_type' = 'void',
   'name' = 'ap_hook_create_request',
   'args' = [
 {
   -1707,6 +1744,11 
 },
 {
   'return_type' = 'apr_array_header_t *',
  +'name' = 'ap_hook_get_create_connection',
  +'args' = []
  +  },
  +  {
  +'return_type' = 'apr_array_header_t *',
   'name' = 'ap_hook_get_create_request',
   'args' = []
 },
   -1757,11 +1799,6 
 },
 {
   'return_type' = 'apr_array_header_t *',
  -'name' = 'ap_hook_get_install_transport_filters',
  -'args' = []
  -  },
  -  {
  -'return_type' = 'apr_array_header_t *',
   'name' = 'ap_hook_get_log_transaction',
   'args' = []
 },
   -1959,28 +1996,6 
 },
 {
   'return_type' = 'void',
  -'name' = 'ap_hook_install_transport_filters',
  -'args' = [
  -  {
  -'type' = 'ap_HOOK_install_transport_filters_t *',
  -'name

cvs commit: modperl-2.0/lib/Apache ParseSource.pm

2002-03-01 Thread dougm

dougm   02/03/01 10:44:36

  Modified:lib/Apache ParseSourcepm
  Log:
  skip header files that #include apr_optionalh
  
  Revision  ChangesPath
  136  +2 -1  modperl-20/lib/Apache/ParseSourcepm
  
  Index: ParseSourcepm
  ===
  RCS file: /home/cvs/modperl-20/lib/Apache/ParseSourcepm,v
  retrieving revision 135
  retrieving revision 136
  diff -u -r135 -r136
  --- ParseSourcepm21 Feb 2002 01:50:41 -  135
  +++ ParseSourcepm1 Mar 2002 18:44:36 -   136
   -105,7 +105,8 
   my includes;
   my $unwanted = join '|', qw(ap_listen internal version
   apr_optional mod_include mod_cgi mod_proxy
  -mod_ssl ssl_ apr_anylock apr_rmm);
  +mod_ssl ssl_ apr_anylock apr_rmm
  +ap_config mod_log_config);
   
   for my $dir (dirs) {
   File::Find::finddepth({
  
  
  



cvs commit: modperl-2.0/src/modules/perl modperl_perl.c

2002-02-28 Thread dougm

dougm   02/02/28 19:30:04

  Modified:src/modules/perl modperl_perlc
  Log:
  trickery to prevent perl_destruct from freeing the environ array does
  not work in win32 service shutdown  pull a different stunt to get the
  same effect, preventing the server from crashing
  
  Revision  ChangesPath
  111  +18 -0 modperl-20/src/modules/perl/modperl_perlc
  
  Index: modperl_perlc
  ===
  RCS file: /home/cvs/modperl-20/src/modules/perl/modperl_perlc,v
  retrieving revision 110
  retrieving revision 111
  diff -u -r110 -r111
  --- modperl_perlc11 Dec 2001 04:43:36 -  110
  +++ modperl_perlc1 Mar 2002 03:30:03 -   111
   -85,6 +85,7 
   
   void modperl_perl_destruct(PerlInterpreter *perl)
   {
  +char **orig_environ = NULL;
   dTHXa(perl);
   
   PERL_SET_CONTEXT(perl);
   -97,7 +98,20 
* at least, not if modperl is doing things right
* this is a bug in Perl
*/
  +#   ifdef WIN32
  +/*
  + * PL_origenviron = environ; doesn't work under win32 service
  + * we pull a different stunt here that has the same effect of
  + * tricking perl into _not_ freeing the real 'environ' array
  + * instead temporarily swap with a dummy array we malloc
  + * here which is ok to let perl free
  + */
  +orig_environ = environ;
  +environ = safemalloc(2 * sizeof(char *));
  +environ[0] = NULL;
  +#   else
   PL_origenviron = environ;
  +#   endif
   #endif
   
   if (PL_endav) {
   -113,4 +127,8 
   #ifndef WIN32
   perl_free(perl);
   #endif
  +
  +if (orig_environ) {
  +environ = orig_environ;
  +}
   }
  
  
  



cvs commit: modperl-2.0/xs/Apache/SubRequest Apache__SubRequest.h

2002-02-26 Thread dougm

dougm   02/02/26 11:03:58

  Added:   xs/Apache/SubRequest Apache__SubRequest.h
  Log:
  moving the subrequest special case here,
  to flush main output buffer before running a subrequest.
  
  Revision  ChangesPath
  1.1  modperl-2.0/xs/Apache/SubRequest/Apache__SubRequest.h
  
  Index: Apache__SubRequest.h
  ===
  static MP_INLINE int mpxs_ap_run_sub_req(pTHX_ request_rec *r)
  {
  /* need to flush main request output buffer if any
   * before running any subrequests, else we get subrequest
   * output before anything already written in the main request
   */
  
  if (r-main) {
  modperl_config_req_t *rcfg =
  modperl_config_req_get(r-main);
  modperl_wbucket_flush(rcfg-wbucket);
  }
  
  return ap_run_sub_req(r);
  }
  
  
  



cvs commit: modperl-2.0/xs/maps apache_functions.map

2002-02-26 Thread dougm

dougm   02/02/26 11:04:25

  Modified:xs/maps  apache_functions.map
  Log:
  call the modperl wrapper for ap_run_sub_req
  
  Revision  ChangesPath
  1.44  +1 -1  modperl-2.0/xs/maps/apache_functions.map
  
  Index: apache_functions.map
  ===
  RCS file: /home/cvs/modperl-2.0/xs/maps/apache_functions.map,v
  retrieving revision 1.43
  retrieving revision 1.44
  diff -u -r1.43 -r1.44
  --- apache_functions.map  25 Jan 2002 04:04:22 -  1.43
  +++ apache_functions.map  26 Feb 2002 19:04:24 -  1.44
  @@ -81,7 +81,7 @@
   
   PACKAGE=Apache::SubRequest   ISA=Apache::RequestRec
ap_destroy_sub_req  | | r | DESTROY
  - ap_run_sub_req  | | r | run
  + ap_run_sub_req  | mpxs_ | | run
   
   MODULE=Apache::RequestIO   PACKAGE=Apache::RequestRec
ap_discard_request_body
  
  
  



cvs commit: modperl-2.0/t/htdocs .cvsignore

2002-02-26 Thread dougm

dougm   02/02/26 11:09:10

  Added:   t/htdocs .cvsignore
  Log:
  ignore
  
  Revision  ChangesPath
  1.1  modperl-2.0/t/htdocs/.cvsignore
  
  Index: .cvsignore
  ===
  index.html
  perlio
  testdirective
  util
  
  
  



cvs commit: modperl-2.0/t/htdocs/includes-registry test.pl

2002-02-26 Thread dougm

dougm   02/02/26 11:10:38

  Added:   t/htdocs/includes-registry test.pl
  Log:
  test for mod_include include virtual of a mod_perl script
  
  Revision  ChangesPath
  1.1  modperl-2.0/t/htdocs/includes-registry/test.pl
  
  Index: test.pl
  ===
  print Content-type: text/html\n\n;
  
  print Hello Worldbr\n;
  
  
  



cvs commit: modperl-2.0/t/conf extra.conf.in

2002-02-26 Thread dougm

dougm   02/02/26 11:12:04

  Modified:t/conf   extra.conf.in
  Log:
  configuration for mod_include+mod_perl test
  
  Revision  ChangesPath
  1.2   +12 -0 modperl-2.0/t/conf/extra.conf.in
  
  Index: extra.conf.in
  ===
  RCS file: /home/cvs/modperl-2.0/t/conf/extra.conf.in,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- extra.conf.in 6 Sep 2001 04:58:43 -   1.1
  +++ extra.conf.in 26 Feb 2002 19:12:04 -  1.2
  @@ -1,3 +1,15 @@
   # make sure that we test under Taint mode
   PerlSwitches -T
   
  +#for t/modules/include.t
  +Directory @ServerRoot@/htdocs/includes
  +AddOutputFilter INCLUDES .shtml
  +Options Indexes FollowSymLinks IncludesNoExec
  +/Directory
  +
  +Directory @ServerRoot@/htdocs/includes-registry
  +SetHandler perl-script
  +Options +ExecCGI
  +PerlResponseHandler ModPerl::Registry
  +PerlOptions +ParseHeaders
  +/Directory
  
  
  



cvs commit: modperl-2.0/lib/ModPerl TypeMap.pm

2002-02-20 Thread dougm

dougm   02/02/20 17:40:03

  Modified:lib/ModPerl TypeMap.pm
  Log:
  loosen aTHX check; might be register PerlInterpreter
  
  Revision  ChangesPath
  1.13  +1 -1  modperl-2.0/lib/ModPerl/TypeMap.pm
  
  Index: TypeMap.pm
  ===
  RCS file: /home/cvs/modperl-2.0/lib/ModPerl/TypeMap.pm,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- TypeMap.pm7 Nov 2001 03:14:54 -   1.12
  +++ TypeMap.pm21 Feb 2002 01:40:03 -  1.13
  @@ -203,7 +203,7 @@
   
   return unless $first;
   
  -if ($first-{type} =~ /^PerlInterpreter/) {
  +if ($first-{type} =~ /PerlInterpreter/) {
   shift @{ $func-{args} };
   $func-{thx} = 1;
   }
  
  
  



cvs commit: modperl-2.0/xs/APR/APR APR.xs

2002-02-01 Thread dougm

dougm   02/02/01 12:00:53

  Modified:xs/APR/APR APR.xs
  Log:
  specify prototyping behavior to shutup xsubpp
  
  Revision  ChangesPath
  1.4   +2 -0  modperl-2.0/xs/APR/APR/APR.xs
  
  Index: APR.xs
  ===
  RCS file: /home/cvs/modperl-2.0/xs/APR/APR/APR.xs,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- APR.xs22 Oct 2001 03:26:03 -  1.3
  +++ APR.xs1 Feb 2002 20:00:53 -   1.4
  @@ -13,6 +13,8 @@
   
   MODULE = APRPACKAGE = APR
   
  +PROTOTYPES: disable
  +
   BOOT:
   file = file; /* -Wall */
   apr_initialize();
  
  
  



cvs commit: modperl-2.0/xs/Apache/Connection Apache__Connection.h

2002-01-29 Thread dougm

dougm   02/01/29 08:32:25

  Modified:xs/Apache/Connection Apache__Connection.h
  Log:
  get Apache::Connection-client_socket working again
  
  Revision  ChangesPath
  1.2   +9 -0  modperl-2.0/xs/Apache/Connection/Apache__Connection.h
  
  Index: Apache__Connection.h
  ===
  RCS file: /home/cvs/modperl-2.0/xs/Apache/Connection/Apache__Connection.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Apache__Connection.h  19 Nov 2001 17:32:46 -  1.1
  +++ Apache__Connection.h  29 Jan 2002 16:32:25 -  1.2
  @@ -2,6 +2,8 @@
   apr_socket_t *mpxs_Apache__Connection_client_socket(pTHX_ conn_rec *c,
   apr_socket_t *s)
   {
  +/* XXX: until minds are made up */
  +#if 0
   apr_socket_t *socket =
   ap_get_module_config(c-conn_config, core_module);
   
  @@ -10,4 +12,11 @@
   }
   
   return socket;
  +#else
  +if (s) {
  +c-client_socket = s;
  +}
  +
  +return c-client_socket;
  +#endif
   }
  
  
  



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

2002-01-29 Thread dougm

dougm   02/01/29 19:29:38

  Modified:xs/tables/current/Apache FunctionTable.pm StructureTable.pm
   xs/tables/current/ModPerl FunctionTable.pm
  Log:
  sync
  
  Revision  ChangesPath
  1.33  +42 -1 modperl-2.0/xs/tables/current/Apache/FunctionTable.pm
  
  Index: FunctionTable.pm
  ===
  RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/FunctionTable.pm,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- FunctionTable.pm  29 Jan 2002 05:35:34 -  1.32
  +++ FunctionTable.pm  30 Jan 2002 03:29:38 -  1.33
  @@ -2,7 +2,7 @@
   
   # !!
   # ! WARNING: generated by Apache::ParseSource/0.02
  -# !  Mon Jan 28 20:30:40 2002
  +# !  Tue Jan 29 19:27:23 2002
   # !  do NOT edit, any changes will be lost !
   # !!
   
  @@ -1757,6 +1757,11 @@
 },
 {
   'return_type' = 'apr_array_header_t *',
  +'name' = 'ap_hook_get_install_transport_filters',
  +'args' = []
  +  },
  +  {
  +'return_type' = 'apr_array_header_t *',
   'name' = 'ap_hook_get_log_transaction',
   'args' = []
 },
  @@ -1954,6 +1959,28 @@
 },
 {
   'return_type' = 'void',
  +'name' = 'ap_hook_install_transport_filters',
  +'args' = [
  +  {
  +'type' = 'ap_HOOK_install_transport_filters_t *',
  +'name' = 'pf'
  +  },
  +  {
  +'type' = 'const char * const *',
  +'name' = 'aszPre'
  +  },
  +  {
  +'type' = 'const char * const *',
  +'name' = 'aszSucc'
  +  },
  +  {
  +'type' = 'int',
  +'name' = 'nOrder'
  +  }
  +]
  +  },
  +  {
  +'return_type' = 'void',
   'name' = 'ap_hook_log_transaction',
   'args' = [
 {
  @@ -4121,6 +4148,20 @@
 {
   'type' = 'request_rec *',
   'name' = 'r'
  +  }
  +]
  +  },
  +  {
  +'return_type' = 'int',
  +'name' = 'ap_run_install_transport_filters',
  +'args' = [
  +  {
  +'type' = 'conn_rec *',
  +'name' = 'c'
  +  },
  +  {
  +'type' = 'apr_socket_t *',
  +'name' = 'csd'
 }
   ]
 },
  
  
  
  1.29  +34 -5 modperl-2.0/xs/tables/current/Apache/StructureTable.pm
  
  Index: StructureTable.pm
  ===
  RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/StructureTable.pm,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- StructureTable.pm 29 Jan 2002 05:35:34 -  1.28
  +++ StructureTable.pm 30 Jan 2002 03:29:38 -  1.29
  @@ -2,7 +2,7 @@
   
   # !!
   # ! WARNING: generated by Apache::ParseSource/0.02
  -# !  Mon Jan 28 20:30:43 2002
  +# !  Tue Jan 29 19:27:25 2002
   # !  do NOT edit, any changes will be lost !
   # !!
   
  @@ -64,6 +64,10 @@
   'elts' = []
 },
 {
  +'type' = 'ap_HOOK_install_transport_filters_t',
  +'elts' = []
  +  },
  +  {
   'type' = 'ap_HOOK_log_transaction_t',
   'elts' = []
 },
  @@ -466,6 +470,31 @@
   ]
 },
 {
  +'type' = 'ap_LINK_install_transport_filters_t',
  +'elts' = [
  +  {
  +'type' = 'ap_HOOK_install_transport_filters_t *',
  +'name' = 'pFunc'
  +  },
  +  {
  +'type' = 'const char *',
  +'name' = 'szName'
  +  },
  +  {
  +'type' = 'const char * const *',
  +'name' = 'aszPredecessors'
  +  },
  +  {
  +'type' = 'const char * const *',
  +'name' = 'aszSuccessors'
  +  },
  +  {
  +'type' = 'int',
  +'name' = 'nOrder'
  +  }
  +]
  +  },
  +  {
   'type' = 'ap_LINK_log_transaction_t',
   'elts' = [
 {
  @@ -2425,10 +2454,6 @@
   'name' = 'vhost_lookup_data'
 },
 {
  -'type' = 'apr_socket_t *',
  -'name' = 'client_socket'
  -  },
  -  {
   'type' = 'apr_sockaddr_t *',
   'name' = 'local_addr'
 },
  @@ -2497,6 +2522,10 @@
   'name' = 'sbh'
 }
   ]
  +  },
  +  {
  +'type' = 'core_net_rec',
  +'elts' = []
 },
 {
   'type' = 'htaccess_result',
  
  
  
  1.58  +15 -1 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.57
  retrieving revision 1.58
  diff -u -r1.57 -r1.58
  --- FunctionTable.pm  25 Jan 2002 04:04:12 -  1.57
  +++ FunctionTable.pm  30 Jan 2002 03:29:38 -  1.58

cvs commit: modperl-2.0/xs/Apache/Connection Apache__Connection.h

2002-01-29 Thread dougm

dougm   02/01/29 19:30:24

  Modified:xs/Apache/Connection Apache__Connection.h
  Log:
  conn_rec.client_socket has gone away again
  
  Revision  ChangesPath
  1.3   +0 -9  modperl-2.0/xs/Apache/Connection/Apache__Connection.h
  
  Index: Apache__Connection.h
  ===
  RCS file: /home/cvs/modperl-2.0/xs/Apache/Connection/Apache__Connection.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Apache__Connection.h  29 Jan 2002 16:32:25 -  1.2
  +++ Apache__Connection.h  30 Jan 2002 03:30:24 -  1.3
  @@ -2,8 +2,6 @@
   apr_socket_t *mpxs_Apache__Connection_client_socket(pTHX_ conn_rec *c,
   apr_socket_t *s)
   {
  -/* XXX: until minds are made up */
  -#if 0
   apr_socket_t *socket =
   ap_get_module_config(c-conn_config, core_module);
   
  @@ -12,11 +10,4 @@
   }
   
   return socket;
  -#else
  -if (s) {
  -c-client_socket = s;
  -}
  -
  -return c-client_socket;
  -#endif
   }
  
  
  



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

2002-01-28 Thread dougm

dougm   02/01/28 21:35:34

  Modified:xs/tables/current/Apache FunctionTable.pm StructureTable.pm
  Log:
  sync
  
  Revision  ChangesPath
  1.32  +146 -59   modperl-2.0/xs/tables/current/Apache/FunctionTable.pm
  
  Index: FunctionTable.pm
  ===
  RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/FunctionTable.pm,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- FunctionTable.pm  25 Jan 2002 04:04:12 -  1.31
  +++ FunctionTable.pm  29 Jan 2002 05:35:34 -  1.32
  @@ -2,7 +2,7 @@
   
   # !!
   # ! WARNING: generated by Apache::ParseSource/0.02
  -# !  Thu Jan 24 19:50:33 2002
  +# !  Mon Jan 28 20:30:40 2002
   # !  do NOT edit, any changes will be lost !
   # !!
   
  @@ -28,6 +28,20 @@
   ]
 },
 {
  +'return_type' = 'void',
  +'name' = 'ap_add_file_conf',
  +'args' = [
  +  {
  +'type' = 'core_dir_config *',
  +'name' = 'conf'
  +  },
  +  {
  +'type' = 'void *',
  +'name' = 'url_config'
  +  }
  +]
  +  },
  +  {
   'return_type' = 'ap_filter_t *',
   'name' = 'ap_add_input_filter',
   'args' = [
  @@ -50,6 +64,28 @@
   ]
 },
 {
  +'return_type' = 'ap_filter_t *',
  +'name' = 'ap_add_input_filter_handle',
  +'args' = [
  +  {
  +'type' = 'ap_filter_rec_t *',
  +'name' = 'f'
  +  },
  +  {
  +'type' = 'void *',
  +'name' = 'ctx'
  +  },
  +  {
  +'type' = 'request_rec *',
  +'name' = 'r'
  +  },
  +  {
  +'type' = 'conn_rec *',
  +'name' = 'c'
  +  }
  +]
  +  },
  +  {
   'return_type' = 'void',
   'name' = 'ap_add_loaded_module',
   'args' = [
  @@ -136,6 +172,56 @@
   ]
 },
 {
  +'return_type' = 'ap_filter_t *',
  +'name' = 'ap_add_output_filter_handle',
  +'args' = [
  +  {
  +'type' = 'ap_filter_rec_t *',
  +'name' = 'f'
  +  },
  +  {
  +'type' = 'void *',
  +'name' = 'ctx'
  +  },
  +  {
  +'type' = 'request_rec *',
  +'name' = 'r'
  +  },
  +  {
  +'type' = 'conn_rec *',
  +'name' = 'c'
  +  }
  +]
  +  },
  +  {
  +'return_type' = 'void',
  +'name' = 'ap_add_per_dir_conf',
  +'args' = [
  +  {
  +'type' = 'server_rec *',
  +'name' = 's'
  +  },
  +  {
  +'type' = 'void *',
  +'name' = 'dir_config'
  +  }
  +]
  +  },
  +  {
  +'return_type' = 'void',
  +'name' = 'ap_add_per_url_conf',
  +'args' = [
  +  {
  +'type' = 'server_rec *',
  +'name' = 's'
  +  },
  +  {
  +'type' = 'void *',
  +'name' = 'url_config'
  +  }
  +]
  +  },
  +  {
   'return_type' = 'void',
   'name' = 'ap_add_version_component',
   'args' = [
  @@ -581,7 +667,7 @@
   ]
 },
 {
  -'return_type' = 'void',
  +'return_type' = 'int',
   'name' = 'ap_create_scoreboard',
   'args' = [
 {
  @@ -1513,28 +1599,6 @@
 },
 {
   'return_type' = 'void',
  -'name' = 'ap_hook_create_connection',
  -'args' = [
  -  {
  -'type' = 'ap_HOOK_create_connection_t *',
  -'name' = 'pf'
  -  },
  -  {
  -'type' = 'const char * const *',
  -'name' = 'aszPre'
  -  },
  -  {
  -'type' = 'const char * const *',
  -'name' = 'aszSucc'
  -  },
  -  {
  -'type' = 'int',
  -'name' = 'nOrder'
  -  }
  -]
  -  },
  -  {
  -'return_type' = 'void',
   'name' = 'ap_hook_create_request',
   'args' = [
 {
  @@ -1643,11 +1707,6 @@
 },
 {
   'return_type' = 'apr_array_header_t *',
  -'name' = 'ap_hook_get_create_connection',
  -'args' = []
  -  },
  -  {
  -'return_type' = 'apr_array_header_t *',
   'name' = 'ap_hook_get_create_request',
   'args' = []
 },
  @@ -2400,6 +2459,24 @@
   ]
 },
 {
  +'return_type' = 'const char *',
  +'name' = 'ap_limit_section',
  +'args' = [
  +  {
  +'type' = 'cmd_parms *',
  +'name' = 'cmd'
  +  },
  +  {
  +'type' = 'void *',
  +'name' = 'dummy'
  +  },
  +  {
  +'type' = 'const char *',
  +'name' = 'arg'
  +  }
  +]
  +  },
  +  {
   'return_type' = 'void',
   'name' = 'ap_lingering_close',
   'args' = [
  @@ -3912,32 +3989,6 @@
   ]
 },
 {
  -'return_type' = 'conn_rec *',
  -'name' = 'ap_run_create_connection',
  -'args' = [
  -  {
  -'type' = 'apr_pool_t *',
  -'name' = 'p'
  -  },
  -  {
  -'type' = 'server_rec

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

2002-01-24 Thread dougm

dougm   02/01/24 20:04:12

  Modified:xs/tables/current/Apache FunctionTable.pm
   xs/tables/current/ModPerl FunctionTable.pm
  Log:
  sync
  
  Revision  ChangesPath
  1.31  +72 -6 modperl-2.0/xs/tables/current/Apache/FunctionTable.pm
  
  Index: FunctionTable.pm
  ===
  RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/FunctionTable.pm,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- FunctionTable.pm  20 Jan 2002 18:35:26 -  1.30
  +++ FunctionTable.pm  25 Jan 2002 04:04:12 -  1.31
  @@ -2,7 +2,7 @@
   
   # !!
   # ! WARNING: generated by Apache::ParseSource/0.02
  -# !  Sun Jan 20 10:18:13 2002
  +# !  Thu Jan 24 19:50:33 2002
   # !  do NOT edit, any changes will be lost !
   # !!
   
  @@ -1048,7 +1048,7 @@
   'name' = 'block'
 },
 {
  -'type' = 'apr_off_t *',
  +'type' = 'apr_off_t',
   'name' = 'readbytes'
 }
   ]
  @@ -,7 +,7 @@
   'name' = 'block'
 },
 {
  -'type' = 'apr_off_t *',
  +'type' = 'apr_off_t',
   'name' = 'readbytes'
 }
   ]
  @@ -3782,7 +3782,7 @@
   ]
 },
 {
  -'return_type' = 'int',
  +'return_type' = 'apr_status_t',
   'name' = 'ap_rgetline',
   'args' = [
 {
  @@ -3790,10 +3790,14 @@
   'name' = 's'
 },
 {
  -'type' = 'int',
  +'type' = 'apr_size_t',
   'name' = 'n'
 },
 {
  +'type' = 'apr_size_t *',
  +'name' = 'read'
  +  },
  +  {
   'type' = 'request_rec *',
   'name' = 'r'
 },
  @@ -5452,6 +5456,24 @@
 },
 {
   'return_type' = 'apr_status_t',
  +'name' = 'apr_brigade_flatten',
  +'args' = [
  +  {
  +'type' = 'apr_bucket_brigade *',
  +'name' = 'bb'
  +  },
  +  {
  +'type' = 'char *',
  +'name' = 'c'
  +  },
  +  {
  +'type' = 'apr_off_t *',
  +'name' = 'len'
  +  }
  +]
  +  },
  +  {
  +'return_type' = 'apr_status_t',
   'name' = 'apr_brigade_length',
   'args' = [
 {
  @@ -5488,6 +5510,28 @@
 },
 {
   'return_type' = 'apr_status_t',
  +'name' = 'apr_brigade_pflatten',
  +'args' = [
  +  {
  +'type' = 'apr_bucket_brigade *',
  +'name' = 'bb'
  +  },
  +  {
  +'type' = 'char **',
  +'name' = 'c'
  +  },
  +  {
  +'type' = 'apr_off_t *',
  +'name' = 'len'
  +  },
  +  {
  +'type' = 'apr_pool_t *',
  +'name' = 'pool'
  +  }
  +]
  +  },
  +  {
  +'return_type' = 'apr_status_t',
   'name' = 'apr_brigade_printf',
   'args' = [
 {
  @@ -5594,6 +5638,28 @@
 },
 {
   'return_type' = 'apr_status_t',
  +'name' = 'apr_brigade_split_line',
  +'args' = [
  +  {
  +'type' = 'apr_bucket_brigade *',
  +'name' = 'bbOut'
  +  },
  +  {
  +'type' = 'apr_bucket_brigade *',
  +'name' = 'bbIn'
  +  },
  +  {
  +'type' = 'apr_read_type_e',
  +'name' = 'block'
  +  },
  +  {
  +'type' = 'apr_off_t',
  +'name' = 'maxbytes'
  +  }
  +]
  +  },
  +  {
  +'return_type' = 'apr_status_t',
   'name' = 'apr_brigade_to_iovec',
   'args' = [
 {
  @@ -6773,7 +6839,7 @@
   'name' = 'apr_file_dup2',
   'args' = [
 {
  -'type' = 'apr_file_t **',
  +'type' = 'apr_file_t *',
   'name' = 'new_file'
 },
 {
  
  
  
  1.57  +25 -32modperl-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.56
  retrieving revision 1.57
  diff -u -r1.56 -r1.57
  --- FunctionTable.pm  20 Jan 2002 18:35:26 -  1.56
  +++ FunctionTable.pm  25 Jan 2002 04:04:12 -  1.57
  @@ -2,7 +2,7 @@
   
   # !!
   # ! WARNING: generated by ModPerl::ParseSource/0.01
  -# !  Sun Jan 20 10:18:42 2002
  +# !  Thu Jan 24 20:01:03 2002
   # !  do NOT edit, any changes will be lost !
   # !!
   
  @@ -2079,7 +2079,11 @@
   'name' = 'mode'
 },
 {
  -'type' = 'apr_off_t *',
  +'type' = 'apr_read_type_e',
  +'name' = 'block'
  +  },
  +  {
  +'type' = 'apr_off_t',
   'name' = 'readbytes'
 }
   ]
  @@ -3305,7 +3309,11 @@
   'name' = 'mode

cvs commit: modperl-2.0/xs/maps apache_functions.map

2002-01-24 Thread dougm

dougm   02/01/24 20:04:22

  Modified:src/modules/perl modperl_filter.c modperl_filter.h
   xs/Apache/Filter Apache__Filter.h
   xs/maps  apache_functions.map
  Log:
  adjust to ap_get_brigade() API change
  
  Revision  ChangesPath
  1.31  +3 -3  modperl-2.0/src/modules/perl/modperl_filter.c
  
  Index: modperl_filter.c
  ===
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_filter.c,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- modperl_filter.c  20 Jan 2002 18:37:04 -  1.30
  +++ modperl_filter.c  25 Jan 2002 04:04:22 -  1.31
  @@ -116,7 +116,7 @@
   int modperl_run_filter(modperl_filter_t *filter,
  ap_input_mode_t mode,
  apr_read_type_e block,
  -   apr_off_t *readbytes)
  +   apr_off_t readbytes)
   {
   AV *args = Nullav;
   int status;
  @@ -140,7 +140,7 @@
   if (filter-mode == MP_INPUT_FILTER_MODE) {
   av_push(args, newSViv(mode));
   av_push(args, newSViv(block));
  -av_push(args, newSViv(*readbytes));
  +av_push(args, newSViv(readbytes));
   }
   
   if ((status = modperl_callback(aTHX_ handler, p, r, s, args)) != OK) {
  @@ -394,7 +394,7 @@
 apr_bucket_brigade *bb,
 ap_input_mode_t mode,
 apr_read_type_e block,
  -  apr_off_t *readbytes)
  +  apr_off_t readbytes)
   {
   modperl_filter_t *filter;
   int status;
  
  
  
  1.12  +2 -2  modperl-2.0/src/modules/perl/modperl_filter.h
  
  Index: modperl_filter.h
  ===
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_filter.h,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- modperl_filter.h  20 Jan 2002 18:37:04 -  1.11
  +++ modperl_filter.h  25 Jan 2002 04:04:22 -  1.12
  @@ -28,7 +28,7 @@
   int modperl_run_filter(modperl_filter_t *filter,
  ap_input_mode_t mode,
  apr_read_type_e block,
  -   apr_off_t *readbytes);
  +   apr_off_t readbytes);
   
   /* output filters */
   apr_status_t modperl_output_filter_handler(ap_filter_t *f,
  @@ -56,7 +56,7 @@
 apr_bucket_brigade *bb,
 ap_input_mode_t mode,
 apr_read_type_e block,
  -  apr_off_t *readbytes);
  +  apr_off_t readbytes);
   
   void modperl_input_filter_register_connection(conn_rec *c);
   
  
  
  
  1.18  +0 -17 modperl-2.0/xs/Apache/Filter/Apache__Filter.h
  
  Index: Apache__Filter.h
  ===
  RCS file: /home/cvs/modperl-2.0/xs/Apache/Filter/Apache__Filter.h,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- Apache__Filter.h  20 Jan 2002 18:37:05 -  1.17
  +++ Apache__Filter.h  25 Jan 2002 04:04:22 -  1.18
  @@ -60,23 +60,6 @@
   return len;
   }
   
  -static apr_status_t mpxs_ap_get_brigade(pTHX_ ap_filter_t *filter,
  -apr_bucket_brigade *brigade,
  -ap_input_mode_t mode,
  -apr_read_type_e block,
  -SV *svreadbytes)
  -{
  -apr_off_t readbytes = svreadbytes ? SvIV(svreadbytes) : 0;
  -apr_status_t status = ap_get_brigade(filter, brigade,
  - mode, block, readbytes);
  -
  -if (svreadbytes) {
  -sv_setiv(svreadbytes, readbytes);
  -}
  -
  -return status;
  -}
  -
   static MP_INLINE U32 *modperl_filter_attributes(SV *package, SV *cvrv)
   {
   return (U32 *)MP_CODE_ATTRS(SvRV(cvrv));
  
  
  
  1.43  +2 -2  modperl-2.0/xs/maps/apache_functions.map
  
  Index: apache_functions.map
  ===
  RCS file: /home/cvs/modperl-2.0/xs/maps/apache_functions.map,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- apache_functions.map  21 Jan 2002 08:27:30 -  1.42
  +++ apache_functions.map  25 Jan 2002 04:04:22 -  1.43
  @@ -203,10 +203,10 @@
   PACKAGE=guess
   ~ap_add_output_filter
   ~ap_add_input_filter
  - ap_get_brigade | mpxs_ | \
  + ap_get_brigade | | \
  filter, bucket, mode=AP_MODE_READBYTES, \
  block=APR_BLOCK_READ

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

2002-01-20 Thread dougm

dougm   02/01/20 10:35:26

  Modified:xs/tables/current/Apache ConstantsTable.pm FunctionTable.pm
StructureTable.pm
   xs/tables/current/ModPerl FunctionTable.pm
  Log:
  sync
  
  Revision  ChangesPath
  1.21  +6 -4  modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm
  
  Index: ConstantsTable.pm
  ===
  RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/ConstantsTable.pm,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- ConstantsTable.pm 31 Dec 2001 12:16:37 -  1.20
  +++ ConstantsTable.pm 20 Jan 2002 18:35:26 -  1.21
  @@ -2,7 +2,7 @@
   
   # !!
   # ! WARNING: generated by Apache::ParseSource/0.02
  -# !  Mon Dec 31 20:02:32 2001
  +# !  Sun Jan 20 10:13:22 2002
   # !  do NOT edit, any changes will be lost !
   # !!
   
  @@ -76,9 +76,11 @@
 'APLOG_STARTUP'
   ],
   'input_mode' = [
  -  'AP_MODE_BLOCKING',
  -  'AP_MODE_NONBLOCKING',
  -  'AP_MODE_PEEK',
  +  'AP_MODE_READBYTES',
  +  'AP_MODE_GETLINE',
  +  'AP_MODE_EATCRLF',
  +  'AP_MODE_SPECULATIVE',
  +  'AP_MODE_EXHAUSTIVE',
 'AP_MODE_INIT'
   ],
   'http' = [
  
  
  
  1.30  +183 -521  modperl-2.0/xs/tables/current/Apache/FunctionTable.pm
  
  Index: FunctionTable.pm
  ===
  RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/FunctionTable.pm,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- FunctionTable.pm  31 Dec 2001 12:16:37 -  1.29
  +++ FunctionTable.pm  20 Jan 2002 18:35:26 -  1.30
  @@ -2,7 +2,7 @@
   
   # !!
   # ! WARNING: generated by Apache::ParseSource/0.02
  -# !  Mon Dec 31 19:58:28 2001
  +# !  Sun Jan 20 10:18:13 2002
   # !  do NOT edit, any changes will be lost !
   # !!
   
  @@ -563,8 +563,8 @@
   'name' = 'ap_create_sb_handle',
   'args' = [
 {
  -'type' = 'void **',
  -'name' = 'new_handle'
  +'type' = 'ap_sb_handle_t **',
  +'name' = 'new_sbh'
 },
 {
   'type' = 'apr_pool_t *',
  @@ -1044,6 +1044,10 @@
   'name' = 'mode'
 },
 {
  +'type' = 'apr_read_type_e',
  +'name' = 'block'
  +  },
  +  {
   'type' = 'apr_off_t *',
   'name' = 'readbytes'
 }
  @@ -1068,12 +1072,7 @@
   ]
 },
 {
  -'return_type' = 'global_score *',
  -'name' = 'ap_get_global_scoreboard',
  -'args' = []
  -  },
  -  {
  -'return_type' = 'unsigned long',
  +'return_type' = 'apr_off_t',
   'name' = 'ap_get_limit_req_body',
   'args' = [
 {
  @@ -1117,16 +1116,6 @@
   ]
 },
 {
  -'return_type' = 'process_score *',
  -'name' = 'ap_get_parent_scoreboard',
  -'args' = [
  -  {
  -'type' = 'int',
  -'name' = 'x'
  -  }
  -]
  -  },
  -  {
   'return_type' = 'const char *',
   'name' = 'ap_get_remote_host',
   'args' = [
  @@ -1159,6 +1148,49 @@
   ]
 },
 {
  +'return_type' = 'void **',
  +'name' = 'ap_get_request_note',
  +'args' = [
  +  {
  +'type' = 'request_rec *',
  +'name' = 'r'
  +  },
  +  {
  +'type' = 'apr_size_t',
  +'name' = 'note_num'
  +  }
  +]
  +  },
  +  {
  +'return_type' = 'global_score *',
  +'name' = 'ap_get_scoreboard_global',
  +'args' = []
  +  },
  +  {
  +'return_type' = 'process_score *',
  +'name' = 'ap_get_scoreboard_process',
  +'args' = [
  +  {
  +'type' = 'int',
  +'name' = 'x'
  +  }
  +]
  +  },
  +  {
  +'return_type' = 'worker_score *',
  +'name' = 'ap_get_scoreboard_worker',
  +'args' = [
  +  {
  +'type' = 'int',
  +'name' = 'x'
  +  },
  +  {
  +'type' = 'int',
  +'name' = 'y'
  +  }
  +]
  +  },
  +  {
   'return_type' = 'const char *',
   'name' = 'ap_get_server_built',
   'args' = []
  @@ -1189,20 +1221,6 @@
   'args' = []
 },
 {
  -'return_type' = 'worker_score *',
  -'name' = 'ap_get_servers_scoreboard',
  -'args' = [
  -  {
  -'type' = 'int',
  -'name' = 'x'
  -  },
  -  {
  -'type' = 'int',
  -'name' = 'y'
  -  }
  -]
  -  },
  -  {
   'return_type' = 'const char *',
   'name' = 'ap_get_status_line',
   'args' = [
  @@ -2200,6 +2218,10 @@
   'name' = 'mode'
 },
 {
  +'type' = 'apr_read_type_e',
  +'name' = 'block

cvs commit: modperl-2.0/xs/maps apache_functions.map

2002-01-20 Thread dougm

dougm   02/01/20 10:37:05

  Modified:src/modules/perl modperl_filter.c modperl_filter.h
   t/filter/TestFilter input_body.pm input_msg.pm
   t/protocol/TestProtocol echo_filter.pm
   xs/Apache/Filter Apache__Filter.h
   xs/maps  apache_functions.map
  Log:
  adjust to ap_get_brigade and input filter api changes
  
  Revision  ChangesPath
  1.30  +7 -3  modperl-2.0/src/modules/perl/modperl_filter.c
  
  Index: modperl_filter.c
  ===
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_filter.c,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- modperl_filter.c  8 Jan 2002 00:04:33 -   1.29
  +++ modperl_filter.c  20 Jan 2002 18:37:04 -  1.30
  @@ -113,7 +113,9 @@
   return mg ? (modperl_filter_t *)mg-mg_ptr : NULL;
   }
   
  -int modperl_run_filter(modperl_filter_t *filter, ap_input_mode_t mode,
  +int modperl_run_filter(modperl_filter_t *filter,
  +   ap_input_mode_t mode,
  +   apr_read_type_e block,
  apr_off_t *readbytes)
   {
   AV *args = Nullav;
  @@ -137,6 +139,7 @@
   
   if (filter-mode == MP_INPUT_FILTER_MODE) {
   av_push(args, newSViv(mode));
  +av_push(args, newSViv(block));
   av_push(args, newSViv(*readbytes));
   }
   
  @@ -374,7 +377,7 @@
   }
   else {
   filter = modperl_filter_new(f, bb, MP_OUTPUT_FILTER_MODE);
  -status = modperl_run_filter(filter, 0, 0);
  +status = modperl_run_filter(filter, 0, 0, 0);
   }
   
   switch (status) {
  @@ -390,6 +393,7 @@
   apr_status_t modperl_input_filter_handler(ap_filter_t *f,
 apr_bucket_brigade *bb,
 ap_input_mode_t mode,
  +  apr_read_type_e block,
 apr_off_t *readbytes)
   {
   modperl_filter_t *filter;
  @@ -402,7 +406,7 @@
   }
   else {
   filter = modperl_filter_new(f, bb, MP_INPUT_FILTER_MODE);
  -status = modperl_run_filter(filter, mode, readbytes);
  +status = modperl_run_filter(filter, mode, block, readbytes);
   }
   
   switch (status) {
  
  
  
  1.11  +4 -1  modperl-2.0/src/modules/perl/modperl_filter.h
  
  Index: modperl_filter.h
  ===
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_filter.h,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- modperl_filter.h  9 Aug 2001 16:52:51 -   1.10
  +++ modperl_filter.h  20 Jan 2002 18:37:04 -  1.11
  @@ -25,7 +25,9 @@
   
   modperl_filter_t *modperl_filter_mg_get(pTHX_ SV *obj);
   
  -int modperl_run_filter(modperl_filter_t *filter, ap_input_mode_t mode,
  +int modperl_run_filter(modperl_filter_t *filter,
  +   ap_input_mode_t mode,
  +   apr_read_type_e block,
  apr_off_t *readbytes);
   
   /* output filters */
  @@ -53,6 +55,7 @@
   apr_status_t modperl_input_filter_handler(ap_filter_t *f,
 apr_bucket_brigade *bb,
 ap_input_mode_t mode,
  +  apr_read_type_e block,
 apr_off_t *readbytes);
   
   void modperl_input_filter_register_connection(conn_rec *c);
  
  
  
  1.9   +2 -2  modperl-2.0/t/filter/TestFilter/input_body.pm
  
  Index: input_body.pm
  ===
  RCS file: /home/cvs/modperl-2.0/t/filter/TestFilter/input_body.pm,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- input_body.pm 21 Dec 2001 11:30:38 -  1.8
  +++ input_body.pm 20 Jan 2002 18:37:05 -  1.9
  @@ -11,11 +11,11 @@
   use APR::Bucket ();
   
   sub handler : FilterRequestHandler {
  -my($filter, $bb, $mode, $readbytes) = @_;
  +my($filter, $bb, $mode, $block, $readbytes) = @_;
   
   my $ctx_bb = APR::Brigade-new($filter-r-pool);
   
  -my $rv = $filter-next-get_brigade($ctx_bb, $mode, $readbytes);
  +my $rv = $filter-next-get_brigade($ctx_bb, $mode, $block, $readbytes);
   
   if ($rv != APR::SUCCESS) {
   return $rv;
  
  
  
  1.9   +2 -2  modperl-2.0/t/filter/TestFilter/input_msg.pm
  
  Index: input_msg.pm
  ===
  RCS file: /home/cvs/modperl-2.0/t/filter/TestFilter/input_msg.pm,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- input_msg.pm  21 Dec 2001 11:30:38 -  1.8
  +++ input_msg.pm  20 Jan 2002 18:37:05 -  1.9
  @@ -12,11

cvs commit: modperl-2.0/xs/Apache/SubProcess Apache__SubProcess.h

2002-01-18 Thread dougm

dougm   02/01/18 16:25:41

  Modified:xs/Apache/SubProcess Apache__SubProcess.h
  Log:
  get rid of warning on win32 - FAILED : macro redefinition
  
  Revision  ChangesPath
  1.9   +1 -0  modperl-2.0/xs/Apache/SubProcess/Apache__SubProcess.h
  
  Index: Apache__SubProcess.h
  ===
  RCS file: /home/cvs/modperl-2.0/xs/Apache/SubProcess/Apache__SubProcess.h,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- Apache__SubProcess.h  18 Dec 2001 05:44:16 -  1.8
  +++ Apache__SubProcess.h  19 Jan 2002 00:25:41 -  1.9
  @@ -15,6 +15,7 @@
   apr_cmdtype_e  cmd_type;
   } exec_info;
   
  +#undef FAILED /* win32 defines a macro with this name */
   #define FAILED(command) ((rc = command) != APR_SUCCESS)
   
   #define SET_TIMEOUT(fp) \
  
  
  



cvs commit: modperl-2.0/t/protocol/TestProtocol eliza.pm

2002-01-10 Thread dougm

dougm   02/01/10 09:26:20

  Modified:t/protocol/TestProtocol eliza.pm
  Log:
  chomp the string before testing value
  
  Revision  ChangesPath
  1.2   +1 -0  modperl-2.0/t/protocol/TestProtocol/eliza.pm
  
  Index: eliza.pm
  ===
  RCS file: /home/cvs/modperl-2.0/t/protocol/TestProtocol/eliza.pm,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- eliza.pm  6 Sep 2001 02:45:13 -   1.1
  +++ eliza.pm  10 Jan 2002 17:26:20 -  1.2
  @@ -19,6 +19,7 @@
   my $rlen = BUFF_LEN;
   $socket-recv($buff, $rlen);
   last if $rlen = 0;
  +chomp $buff;
   $last++ if $buff eq 'good bye';
   $buff = $mybot-transform( $buff ) . \n;
   $socket-send($buff, length $buff);
  
  
  



cvs commit: modperl-2.0/src/modules/perl modperl_io.c

2002-01-08 Thread dougm

dougm   02/01/08 11:04:22

  Modified:src/modules/perl modperl_io.c
  Log:
  plug leaking tied STD{IN,OUT} objects
  
  Revision  ChangesPath
  1.6   +2 -0  modperl-2.0/src/modules/perl/modperl_io.c
  
  Index: modperl_io.c
  ===
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_io.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- modperl_io.c  6 Jan 2002 21:56:22 -   1.5
  +++ modperl_io.c  8 Jan 2002 19:04:22 -   1.6
  @@ -42,6 +42,8 @@
   sv_magic((SV*)handle, obj, 'q', Nullch, 0);
   sv_magic((SV*)GvIOp(handle), obj, 'q', Nullch, 0);
   
  +SvREFCNT_dec(obj); /* since sv_magic did SvREFCNT_inc */
  +
   MP_TRACE_g(MP_FUNC, tie *%s(0x%lx) = %s, REFCNT=%d\n,
  GvNAME(handle), (unsigned long)handle, classname,
  SvREFCNT((SV*)handle));
  
  
  



cvs commit: modperl-2.0/t/response/TestModperl print.pm

2002-01-08 Thread dougm

dougm   02/01/08 14:46:09

  Modified:t/conf   modperl_extra.pl
   t/response/TestModperl print.pm
  Log:
  add some END blocks for testing
  
  Revision  ChangesPath
  1.12  +4 -0  modperl-2.0/t/conf/modperl_extra.pl
  
  Index: modperl_extra.pl
  ===
  RCS file: /home/cvs/modperl-2.0/t/conf/modperl_extra.pl,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- modperl_extra.pl  22 Dec 2001 18:59:52 -  1.11
  +++ modperl_extra.pl  8 Jan 2002 22:46:08 -   1.12
  @@ -53,4 +53,8 @@
   return $buf;
   }
   
  +END {
  +warn END in modperl_extra.pl, pid=$$\n;
  +}
  +
   1;
  
  
  
  1.4   +5 -0  modperl-2.0/t/response/TestModperl/print.pm
  
  Index: print.pm
  ===
  RCS file: /home/cvs/modperl-2.0/t/response/TestModperl/print.pm,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- print.pm  1 Jan 2002 10:36:05 -   1.3
  +++ print.pm  8 Jan 2002 22:46:09 -   1.4
  @@ -21,4 +21,9 @@
   Apache::OK;
   }
   
  +END {
  +my $package = __PACKAGE__;
  +warn END in $package, pid=$$\n;
  +}
  +
   1;
  
  
  



cvs commit: modperl-2.0/xs/maps modperl_functions.map

2002-01-08 Thread dougm

dougm   02/01/08 14:48:38

  Modified:xs/Apache/RequestIO Apache__RequestIO.h
   xs/maps  modperl_functions.map
  Log:
  dd UNTIE method to avoid warning from pp_untie:
   untie attempted while %d inner references still exist
  which is legit in our case, since we do not create a new object in
  TIEHANDLE, but rather increment the refcount of and existing one.
  
  Revision  ChangesPath
  1.25  +3 -0  modperl-2.0/xs/Apache/RequestIO/Apache__RequestIO.h
  
  Index: Apache__RequestIO.h
  ===
  RCS file: /home/cvs/modperl-2.0/xs/Apache/RequestIO/Apache__RequestIO.h,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- Apache__RequestIO.h   6 Jan 2002 20:45:36 -   1.24
  +++ Apache__RequestIO.h   8 Jan 2002 22:48:38 -   1.25
  @@ -6,6 +6,9 @@
   #define mpxs_Apache__RequestRec_BINMODE(r) \
   r ? PL_sv_yes : PL_sv_no /* noop */
   
  +#define mpxs_Apache__RequestRec_UNTIE(r, refcnt) \
  +(r  refcnt) ? PL_sv_yes : PL_sv_no /* noop */
  +
   #define mpxs_output_flush(r, rcfg) \
   /* if ($|) */ \
   if (IoFLUSH(PL_defoutgv)) { \
  
  
  
  1.32  +1 -0  modperl-2.0/xs/maps/modperl_functions.map
  
  Index: modperl_functions.map
  ===
  RCS file: /home/cvs/modperl-2.0/xs/maps/modperl_functions.map,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- modperl_functions.map 20 Dec 2001 18:12:16 -  1.31
  +++ modperl_functions.map 8 Jan 2002 22:48:38 -   1.32
  @@ -30,6 +30,7 @@
apr_size_t:DEFINE_PRINT  | | ...
apr_size_t:DEFINE_PRINTF | | ...
SV *:DEFINE_BINMODE  | | request_rec *:r
  + SV *:DEFINE_UNTIE| | request_rec *:r, int:refcnt
mpxs_Apache__RequestRec_sendfile | | r, filename=r-filename, offset=0, len=0
mpxs_Apache__RequestRec_read | | r, buffer, bufsiz, offset=0
long:DEFINE_READ | | request_rec *:r, SV *:buffer, int:bufsiz, int:offset=0
  
  
  



cvs commit: modperl-2.0/t/response/TestModperl readline.pm getc.pm

2002-01-08 Thread dougm

dougm   02/01/08 14:49:32

  Modified:t/response/TestModperl readline.pm getc.pm
  Log:
  untie STDIN
  
  Revision  ChangesPath
  1.3   +2 -0  modperl-2.0/t/response/TestModperl/readline.pm
  
  Index: readline.pm
  ===
  RCS file: /home/cvs/modperl-2.0/t/response/TestModperl/readline.pm,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- readline.pm   5 Dec 2001 05:48:39 -   1.2
  +++ readline.pm   8 Jan 2002 22:49:32 -   1.3
  @@ -16,6 +16,8 @@
   $r-puts($line);
   }
   
  +untie *STDIN;
  +
   Apache::OK;
   }
   
  
  
  
  1.3   +2 -0  modperl-2.0/t/response/TestModperl/getc.pm
  
  Index: getc.pm
  ===
  RCS file: /home/cvs/modperl-2.0/t/response/TestModperl/getc.pm,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- getc.pm   7 Dec 2001 04:47:13 -   1.2
  +++ getc.pm   8 Jan 2002 22:49:32 -   1.3
  @@ -16,6 +16,8 @@
   $r-puts($c);
   }
   
  +untie *STDIN;
  +
   Apache::OK;
   }
   
  
  
  



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

2002-01-08 Thread dougm

dougm   02/01/08 16:31:39

  Modified:src/modules/perl mod_perl.c
  Log:
  rid warning #ifdef USE_ITHREADS
  
  Revision  ChangesPath
  1.104 +1 -1  modperl-2.0/src/modules/perl/mod_perl.c
  
  Index: mod_perl.c
  ===
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.c,v
  retrieving revision 1.103
  retrieving revision 1.104
  diff -u -r1.103 -r1.104
  --- mod_perl.c8 Jan 2002 01:13:28 -   1.103
  +++ mod_perl.c9 Jan 2002 00:31:39 -   1.104
  @@ -640,10 +640,10 @@
   int modperl_response_handler_cgi(request_rec *r)
   {
   MP_dDCFG;
  -MP_dRCFG;
   GV *h_stdin, *h_stdout;
   int retval;
   #ifdef USE_ITHREADS
  +MP_dRCFG;
   pTHX;
   modperl_interp_t *interp;
   #endif
  
  
  



cvs commit: modperl-2.0/xs/APR/PerlIO apr_perlio.c

2002-01-07 Thread dougm

dougm   02/01/07 17:06:20

  Modified:xs/APR/PerlIO apr_perlio.c
  Log:
  add some debug info
  
  Revision  ChangesPath
  1.9   +23 -2 modperl-2.0/xs/APR/PerlIO/apr_perlio.c
  
  Index: apr_perlio.c
  ===
  RCS file: /home/cvs/modperl-2.0/xs/APR/PerlIO/apr_perlio.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- apr_perlio.c  4 Jan 2002 09:29:50 -   1.8
  +++ apr_perlio.c  8 Jan 2002 01:06:20 -   1.9
  @@ -82,6 +82,13 @@
   st-pool = modperl_sv2pool(aTHX_ sv);
 
   rc = apr_file_open(st-file, path, apr_flag, APR_OS_DEFAULT, st-pool);
  +
  +#ifdef PERLIO_APR_DEBUG
  +Perl_warn(aTHX_ PerlIOAPR_open obj=0x%lx, file=0x%lx, name=%s, rc=%d\n,
  +  (unsigned long)f, (unsigned long)st-file,
  +  path ? path : (UNKNOWN), rc);
  +#endif
  +
   if (rc != APR_SUCCESS) {
   PerlIOBase(f)-flags |= PERLIO_F_ERROR;
   return NULL;
  @@ -110,6 +117,15 @@
   PerlIOAPR *ost = PerlIOSelf(o, PerlIOAPR);
   
   rc = apr_file_dup(fst-file, ost-file, ost-pool);
  +
  +#ifdef PERLIO_APR_DEBUG
  +Perl_warn(aTHX_ PerlIOAPR_dup obj=0x%lx, 
  +file=0x%lx = 0x%lx, rc=%d\n,
  +  (unsigned long)f,
  +  (unsigned long)ost-file,
  +  (unsigned long)fst-file, rc);
  +#endif
  +
   if (rc == APR_SUCCESS) {
   fst-pool = ost-pool;
   return f;
  @@ -190,9 +206,14 @@
   IV code = PerlIOBase_close(aTHX_ f);
   apr_status_t rc;
   
  -const char *new_path;
  +const char *new_path = NULL;
   apr_file_name_get(new_path, st-file);
  -/* Perl_warn(aTHX_ closing file %s\n, new_path); */
  +
  +#ifdef PERLIO_APR_DEBUG
  +Perl_warn(aTHX_ PerlIOAPR_close obj=0x%lx, file=0x%lx, name=%s\n,
  +  (unsigned long)f, (unsigned long)st-file,
  +  new_path ? new_path : (UNKNOWN));
  +#endif
   
   rc = apr_file_flush(st-file);
   if (rc != APR_SUCCESS) {
  
  
  



cvs commit: modperl-2.0/xs/APR/PerlIO apr_perlio.c

2002-01-07 Thread dougm

dougm   02/01/07 17:09:19

  Modified:xs/APR/PerlIO apr_perlio.c
  Log:
  work around bug where some PerlIOAPR filehandles are still open during perl_destruct
  
  Revision  ChangesPath
  1.10  +14 -2 modperl-2.0/xs/APR/PerlIO/apr_perlio.c
  
  Index: apr_perlio.c
  ===
  RCS file: /home/cvs/modperl-2.0/xs/APR/PerlIO/apr_perlio.c,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- apr_perlio.c  8 Jan 2002 01:06:20 -   1.9
  +++ apr_perlio.c  8 Jan 2002 01:09:19 -   1.10
  @@ -206,14 +206,26 @@
   IV code = PerlIOBase_close(aTHX_ f);
   apr_status_t rc;
   
  +#ifdef PERLIO_APR_DEBUG
   const char *new_path = NULL;
  -apr_file_name_get(new_path, st-file);
  +if (!PL_dirty) {
  +/* if this is called during perl_destruct we are in trouble */
  +apr_file_name_get(new_path, st-file);
  +}
   
  -#ifdef PERLIO_APR_DEBUG
   Perl_warn(aTHX_ PerlIOAPR_close obj=0x%lx, file=0x%lx, name=%s\n,
 (unsigned long)f, (unsigned long)st-file,
 new_path ? new_path : (UNKNOWN));
   #endif
  +
  +if (PL_dirty) {
  +/* there should not be any PerlIOAPR handles open
  + * during perl_destruct
  + */
  +Perl_warn(aTHX_ leaked PerlIOAPR handle 0x%lx,
  +  (unsigned long)f);
  +return -1;
  +}
   
   rc = apr_file_flush(st-file);
   if (rc != APR_SUCCESS) {
  
  
  



cvs commit: modperl-2.0/src/modules/perl mod_perl.c mod_perl.h modperl_interp.c

2002-01-07 Thread dougm

dougm   02/01/07 17:13:29

  Modified:src/modules/perl mod_perl.c mod_perl.h modperl_interp.c
  Log:
  fix so perl_destruct (and things like END blocks) are run in child
  processes when they are shutdown
  
  Revision  ChangesPath
  1.103 +30 -3 modperl-2.0/src/modules/perl/mod_perl.c
  
  Index: mod_perl.c
  ===
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.c,v
  retrieving revision 1.102
  retrieving revision 1.103
  diff -u -r1.102 -r1.103
  --- mod_perl.c6 Jan 2002 21:39:36 -   1.102
  +++ mod_perl.c8 Jan 2002 01:13:28 -   1.103
  @@ -128,6 +128,20 @@
   SAVEDESTRUCTOR_X(modperl_boot, 0);
   }
   
  +/*
  + * the server_pool is a subpool of the parent pool (aka pconf)
  + * this is where we register the cleanups that teardown the interpreter.
  + * the parent process will run the cleanups since server_pool is a subpool
  + * of pconf.  we manually clear the server_pool to run cleanups in the
  + * child processes
  + */
  +static apr_pool_t *server_pool = NULL;
  +
  +apr_pool_t *modperl_server_pool(void)
  +{
  +return server_pool;
  +}
  +
   PerlInterpreter *modperl_startup(server_rec *s, apr_pool_t *p)
   {
   AV *endav;
  @@ -198,8 +212,8 @@
   }
   
   #ifndef USE_ITHREADS
  -cdata = modperl_cleanup_data_new(p, (void*)perl);
  -apr_pool_cleanup_register(p, cdata,
  +cdata = modperl_cleanup_data_new(server_pool, (void*)perl);
  +apr_pool_cleanup_register(server_pool, cdata,
 modperl_shutdown, apr_pool_cleanup_null);
   #endif
   
  @@ -380,8 +394,10 @@
   int modperl_hook_init(apr_pool_t *pconf, apr_pool_t *plog, 
 apr_pool_t *ptemp, server_rec *s)
   {
  +apr_pool_create(server_pool, pconf);
  +
   modperl_sys_init();
  -apr_pool_cleanup_register(pconf, NULL,
  +apr_pool_cleanup_register(server_pool, NULL,
 modperl_sys_term, apr_pool_cleanup_null);
   modperl_init_globals(s, pconf);
   modperl_init(s, pconf);
  @@ -461,9 +477,20 @@
   return OK;
   }
   
  +static apr_status_t modperl_child_exit(void *data)
  +{
  +apr_pool_clear(server_pool);
  +server_pool = NULL;
  +
  +return APR_SUCCESS;
  +}
  +
   static void modperl_hook_child_init(apr_pool_t *p, server_rec *s)
   {
   modperl_perl_init_ids_server(s);
  +
  +apr_pool_cleanup_register(p, NULL, modperl_child_exit,
  +  apr_pool_cleanup_null);
   }
   
   void modperl_register_hooks(apr_pool_t *p)
  
  
  
  1.40  +1 -0  modperl-2.0/src/modules/perl/mod_perl.h
  
  Index: mod_perl.h
  ===
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.h,v
  retrieving revision 1.39
  retrieving revision 1.40
  diff -u -r1.39 -r1.40
  --- mod_perl.h24 Nov 2001 01:15:01 -  1.39
  +++ mod_perl.h8 Jan 2002 01:13:28 -   1.40
  @@ -45,6 +45,7 @@
   void modperl_pre_config_handler(apr_pool_t *p, apr_pool_t *plog,
   apr_pool_t *ptemp);
   void modperl_register_hooks(apr_pool_t *p);
  +apr_pool_t *modperl_server_pool(void);
   PerlInterpreter *modperl_startup(server_rec *s, apr_pool_t *p);
   void xs_init(pTHXo);
   
  
  
  
  1.39  +2 -1  modperl-2.0/src/modules/perl/modperl_interp.c
  
  Index: modperl_interp.c
  ===
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_interp.c,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- modperl_interp.c  5 Nov 2001 05:19:01 -   1.38
  +++ modperl_interp.c  8 Jan 2002 01:13:28 -   1.39
  @@ -191,6 +191,7 @@
   void modperl_interp_init(server_rec *s, apr_pool_t *p,
PerlInterpreter *perl)
   {
  +apr_pool_t *server_pool = modperl_server_pool();
   pTHX;
   MP_dSCFG(s);
   
  @@ -210,7 +211,7 @@
   /* this happens post-config in mod_perl.c:modperl_init_clones() */
   /* modperl_tipool_init(tipool); */
   
  -apr_pool_cleanup_register(p, (void*)mip,
  +apr_pool_cleanup_register(server_pool, (void*)mip,
 modperl_interp_pool_destroy,
 apr_pool_cleanup_null);
   
  
  
  



<    1   2   3   4   5   6   7   8   >