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

2003-12-01 Thread geoff
geoff   2003/12/01 09:14:17

  Modified:xs/Apache/MPM Apache__MPM.h
   xs/maps  apache_functions.map modperl_functions.map
   xs/tables/current/Apache FunctionTable.pm
   xs/tables/current/ModPerl FunctionTable.pm
  Added:   t/response/TestAPI query.pm show.pm
  Removed: t/response/TestAPI mpm_query.pm show_mpm.pm
  Log:
  change Apache::MPM::show_mpm() to constant subroutine Apache::MPM->show
  change Apache::MPM::mpm_query() to class method Apache::MPM->query()
  adjust test names to match
  
  Revision  ChangesPath
  1.1  modperl-2.0/t/response/TestAPI/query.pm
  
  Index: query.pm
  ===
  package TestAPI::query;
  
  use strict;
  use warnings FATAL => 'all';
  
  use Apache::Test;
  use Apache::TestUtil;
  use Apache::TestTrace;
  
  use Apache::MPM ();
  
  use Apache::Const -compile => qw(OK :mpmq);
  
  sub handler {
  
  my $r = shift;
  
  plan $r, tests => 3;
  
  # ok, this isn't particularly pretty, but I can't think
  # of a better way to do it
  # all of these attributes I pulled right from the C sources
  # so if, say, leader all of a sudden changes its properties,
  # these tests will fail
  
  my $mpm = lc Apache::MPM->show;
  
  if ($mpm eq 'prefork') {
  
  {
  my $query = Apache::MPM->query(Apache::MPMQ_IS_THREADED);
  
  ok t_cmp(Apache::MPMQ_NOT_SUPPORTED,
   $query,
   "MPMQ_IS_THREADED ($mpm)");
  }
  
  {
  my $query = Apache::MPM->query(Apache::MPMQ_IS_FORKED);
  
  ok t_cmp(Apache::MPMQ_DYNAMIC,
   $query,
   "MPMQ_IS_FORKED ($mpm)");
  }
  
  }
  elsif ($mpm eq 'worker') {
  
  {
  my $query = Apache::MPM->query(Apache::MPMQ_IS_THREADED);
  
  ok t_cmp(Apache::MPMQ_STATIC,
   $query,
   "MPMQ_IS_THREADED ($mpm)");
  }
  
  {
  my $query = Apache::MPM->query(Apache::MPMQ_IS_FORKED);
  
  ok t_cmp(Apache::MPMQ_DYNAMIC,
   $query,
   "MPMQ_IS_FORKED ($mpm)");
  }
  }
  elsif ($mpm eq 'leader') {
  
  {
  my $query = Apache::MPM->query(Apache::MPMQ_IS_THREADED);
  
  ok t_cmp(Apache::MPMQ_STATIC,
   $query,
   "MPMQ_IS_THREADED ($mpm)");
  }
  
  {
  my $query = Apache::MPM->query(Apache::MPMQ_IS_FORKED);
  
  ok t_cmp(Apache::MPMQ_DYNAMIC,
   $query,
   "MPMQ_IS_FORKED ($mpm)");
  }
  }
  elsif ($mpm eq 'winnt') {
  
  {
  my $query = Apache::MPM->query(Apache::MPMQ_IS_THREADED);
  
  ok t_cmp(Apache::MPMQ_STATIC,
   $query,
   "MPMQ_IS_THREADED ($mpm)");
  }
  
  {
  my $query = Apache::MPM->query(Apache::MPMQ_IS_FORKED);
  
  ok t_cmp(Apache::MPMQ_NOT_SUPPORTED,
   $query,
   "MPMQ_IS_FORKED ($mpm)");
  }
  }
  else {
  skip "skipping MPMQ_IS_THREADED test for $mpm MPM", 0;
  skip "skipping MPMQ_IS_FORKED test for $mpm MPM", 0;
  }
  
  # make sure that an undefined MPMQ constant yields undef
  {
  my $query = Apache::MPM->query(72);
  
  ok t_cmp(undef,
   $query,
   "unknown MPMQ value returns undef");
  }
  
  Apache::OK;
  }
  
  1;
  
  
  
  1.1  modperl-2.0/t/response/TestAPI/show.pm
  
  Index: show.pm
  ===
  package TestAPI::show;
  
  use strict;
  use warnings FATAL => 'all';
  
  use Apache::Test;
  use Apache::TestUtil;
  
  use Apache::MPM ();
  use Apache::Const -compile => 'OK';
  
  sub handler {
  my $r = shift;
  
  plan $r, tests => 1;
  
  my $mpm = Apache::Test::config->{server}->{mpm};
  
  warn " trying now***";
  
  ok t_cmp(qr!$mpm!i,
   Apache::MPM->show(),
   'Apache::MPM->show()');
  
  Apache::OK;
  }
  
  1;
  
  
  
  1.2   +17 -9 modperl-2.0/xs/Apache/MPM/Apache__MPM.h
  
  Index: Apache__MPM.h
  ===
  RCS file: /home/cvs/modperl-2.0/xs/Apache/MPM/Apache__MPM.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Apache__MPM.h 25 Nov 2003 18:56:34 -  1.1
  +++ Apache__MPM.h 1 Dec 2003 17:14:16 -   1.2
  @@ -1,17 +1,25 @@
  -static MP_INLINE
  -int mpxs_Apache__MPM_mpm_query(int query)
  +static MP_INLINE SV *mpxs_Apache__MPM_query(pTHX_ SV *self, int query_code)
   {
   int mpm_q

cvs commit: modperl-2.0 Changes

2003-12-01 Thread geoff
geoff   2003/12/01 09:14:24

  Modified:.Changes
  Log:
  
  
  Revision  ChangesPath
  1.264 +1 -1  modperl-2.0/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl-2.0/Changes,v
  retrieving revision 1.263
  retrieving revision 1.264
  diff -u -r1.263 -r1.264
  --- Changes   25 Nov 2003 23:44:27 -  1.263
  +++ Changes   1 Dec 2003 17:14:24 -   1.264
  @@ -15,7 +15,7 @@
   fix "PerlSetVar Foo 0" so that $r->dir_config('Foo') returns 0, not undef
   [Geoffrey Young]
   
  -add Apache::MPM class, along with show_mpm() and mpm_query() functions
  +add Apache::MPM class, along with show() and query() class methods
   [Geoffrey Young]
   
   add :mpmq import tag to Apache::Const [Geoffrey Young]
  
  
  


cvs commit: modperl-2.0/xs/Apache/MPM Apache__MPM.h

2003-12-01 Thread geoff
geoff   2003/12/01 09:28:36

  Modified:src/modules/perl mod_perl.c
   t/response/TestAPI query.pm
   t/response/TestAPR os.pm
   xs/Apache/MPM Apache__MPM.h
  Log:
  Apache::MPM->is_threaded() replaces Apache::MPM_IS_THREADED
  
  Revision  ChangesPath
  1.204 +0 -4  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.203
  retrieving revision 1.204
  diff -u -r1.203 -r1.204
  --- mod_perl.c3 Nov 2003 23:31:19 -   1.203
  +++ mod_perl.c1 Dec 2003 17:28:36 -   1.204
  @@ -52,7 +52,6 @@
   static void modperl_boot(pTHX_ void *data)
   {
   MP_dBOOT_DATA;
  -MP_dSCFG(s);
   int i;
   
   modperl_env_clear(aTHX);
  @@ -70,9 +69,6 @@
   
   /* outside mod_perl this is done by ModPerl::Const.xs */
   newXS("ModPerl::Const::compile", XS_modperl_const_compile, __FILE__);
  -
  -newCONSTSUB(PL_defstash, "Apache::MPM_IS_THREADED",
  -newSViv(scfg->threaded_mpm));
   
   #ifdef MP_PERL_5_6_x
   /* make sure DynaLoader is loaded before XSLoader
  
  
  
  1.2   +35 -2 modperl-2.0/t/response/TestAPI/query.pm
  
  Index: query.pm
  ===
  RCS file: /home/cvs/modperl-2.0/t/response/TestAPI/query.pm,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- query.pm  1 Dec 2003 17:14:16 -   1.1
  +++ query.pm  1 Dec 2003 17:28:36 -   1.2
  @@ -15,7 +15,7 @@
   
   my $r = shift;
   
  -plan $r, tests => 3;
  +plan $r, tests => 5;
   
   # ok, this isn't particularly pretty, but I can't think
   # of a better way to do it
  @@ -33,6 +33,16 @@
   ok t_cmp(Apache::MPMQ_NOT_SUPPORTED,
$query,
"MPMQ_IS_THREADED ($mpm)");
  +
  +# is_threaded() is just a constsub set to the result from
  +# ap_mpm_query(AP_MPMQ_IS_THREADED)
  +
  +ok t_cmp($query,
  + Apache::MPM->is_threaded,
  + "Apache::MPM->is_threaded() equivalent to 
query(MPMQ_IS_THREADED)");
  +
  +t_debug('Apache::MPM->is_threaded returned ' . 
Apache::MPM->is_threaded);
  +ok (! Apache::MPM->is_threaded);
   }
   
   {
  @@ -50,8 +60,15 @@
   my $query = Apache::MPM->query(Apache::MPMQ_IS_THREADED);
   
   ok t_cmp(Apache::MPMQ_STATIC,
  - $query,
  +$query,
"MPMQ_IS_THREADED ($mpm)");
  +
  +ok t_cmp($query,
  + Apache::MPM->is_threaded,
  + "Apache::MPM->is_threaded() equivalent to 
query(MPMQ_IS_THREADED)");
  +
  +t_debug('Apache::MPM->is_threaded returned ' . 
Apache::MPM->is_threaded);
  +ok (Apache::MPM->is_threaded);
   }
   
   {
  @@ -70,6 +87,13 @@
   ok t_cmp(Apache::MPMQ_STATIC,
$query,
"MPMQ_IS_THREADED ($mpm)");
  +
  +ok t_cmp($query,
  + Apache::MPM->is_threaded,
  + "Apache::MPM->is_threaded() equivalent to 
query(MPMQ_IS_THREADED)");
  +
  +t_debug('Apache::MPM->is_threaded returned ' . 
Apache::MPM->is_threaded);
  +ok (Apache::MPM->is_threaded);
   }
   
   {
  @@ -88,6 +112,13 @@
   ok t_cmp(Apache::MPMQ_STATIC,
$query,
"MPMQ_IS_THREADED ($mpm)");
  +
  +ok t_cmp($query,
  + Apache::MPM->is_threaded,
  + "Apache::MPM->is_threaded() equivalent to 
query(MPMQ_IS_THREADED)");
  +
  +t_debug('Apache::MPM->is_threaded returned ' . 
Apache::MPM->is_threaded);
  +ok (Apache::MPM->is_threaded);
   }
   
   {
  @@ -100,7 +131,9 @@
   }
   else {
   skip "skipping MPMQ_IS_THREADED test for $mpm MPM", 0;
  +skip "skipping Apache::MPM->is_threaded equivalence test for $mpm MPM", 0;
   skip "skipping MPMQ_IS_FORKED test for $mpm MPM", 0;
  +skip "skipping Apache::MPM->is_threaded test for $mpm MPM", 0;
   }
   
   # make sure that an undefined MPMQ constant yields undef
  
  
  
  1.4   +2 -1  modperl-2.0/t/response/TestAPR/os.pm
  
  Index: os.pm
  ===
  RCS file: /home/cvs/modperl-2.0/t/response/TestAPR/os.pm,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- os.pm 23 May 2002 19:49:49 -  1.3
  +++ os.pm 1 Dec 2003 17:28:36 -   1.4
  @@ -6,6 +6,7 @@
   use Apache::Test;
   use Apache::TestUtil;
   
  +use Apach

cvs commit: modperl-2.0 Changes

2003-12-01 Thread geoff
geoff   2003/12/01 09:28:50

  Modified:.Changes
  Log:
  Apache::MPM->is_threaded() replaces Apache::MPM_IS_THREADED
  
  Revision  ChangesPath
  1.265 +3 -0  modperl-2.0/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl-2.0/Changes,v
  retrieving revision 1.264
  retrieving revision 1.265
  diff -u -r1.264 -r1.265
  --- Changes   1 Dec 2003 17:14:24 -   1.264
  +++ Changes   1 Dec 2003 17:28:50 -   1.265
  @@ -12,6 +12,9 @@
   
   =item 1.99_12-dev
   
  +Apache::MPM->is_threaded() replaces Apache::MPM_IS_THREADED
  +[Geoffrey Young]
  +
   fix "PerlSetVar Foo 0" so that $r->dir_config('Foo') returns 0, not undef
   [Geoffrey Young]
   
  
  
  


cvs commit: modperl/src/modules/perl Apache.xs

2003-12-01 Thread geoff
geoff   2003/12/01 09:30:19

  Modified:src/modules/perl Apache.xs
  Log:
  fix "PerlSetVar Foo 0" so that $r->dir_config('Foo') returns 0, not undef
  
  Revision  ChangesPath
  1.130 +1 -1  modperl/src/modules/perl/Apache.xs
  
  Index: Apache.xs
  ===
  RCS file: /home/cvs/modperl/src/modules/perl/Apache.xs,v
  retrieving revision 1.129
  retrieving revision 1.130
  diff -u -r1.129 -r1.130
  --- Apache.xs 16 Sep 2003 19:51:06 -  1.129
  +++ Apache.xs 1 Dec 2003 17:30:19 -   1.130
  @@ -2084,7 +2084,7 @@
 &perl_module);
TABLE_GET_SET(c->vars, FALSE);
   }
  -if (!SvTRUE(RETVAL)) {
  +if (!SvOK(RETVAL)) {
s = r && r->server ? r->server : perl_get_startup_server();
if (s && s->module_config) {
SvREFCNT_dec(RETVAL); /* in case above did newSV(0) */
  
  
  


cvs commit: modperl Changes

2003-12-01 Thread geoff
geoff   2003/12/01 09:30:33

  Modified:.Changes
  Log:
  fix "PerlSetVar Foo 0" so that $r->dir_config('Foo') returns 0, not undef
  
  Revision  ChangesPath
  1.687 +3 -0  modperl/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.686
  retrieving revision 1.687
  diff -u -r1.686 -r1.687
  --- Changes   26 Nov 2003 02:22:11 -  1.686
  +++ Changes   1 Dec 2003 17:30:33 -   1.687
  @@ -10,6 +10,9 @@
   
   =item 1.30_01-dev
   
  +fix "PerlSetVar Foo 0" so that $r->dir_config('Foo') returns 0, not undef
  +[Geoffrey Young]
  +
   for some reason .pm files during the modperl build see $ENV{PERL5LIB}
   set in Makefile.PL, which is used for generating Makefiles, as
   "PERL5LIB=/path:/another/path" instead of "/path:/another/path"
  
  
  


cvs commit: modperl STATUS

2003-12-01 Thread geoff
geoff   2003/12/01 09:54:39

  Modified:.STATUS
  Log:
  remove PerlSetVar Foo 0 issue (resolved)
  
  Revision  ChangesPath
  1.43  +1 -7  modperl/STATUS
  
  Index: STATUS
  ===
  RCS file: /home/cvs/modperl/STATUS,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- STATUS25 Nov 2003 20:44:51 -  1.42
  +++ STATUS1 Dec 2003 17:54:39 -   1.43
  @@ -12,12 +12,6 @@
   
   Available Patches:
   
  -* given "PerlSetVar Foo 0" $r->dir_config('Foo') returns undef
  -  instead of zero
  -Report: http://marc.theaimsgroup.com/?l=apache-modperl&m=106909301704472&w=2
  -Status: fixed in 2.0, patch for 1.0 (untested) occurs late in 
  -the above thread
  -
   * if the requested number of bytes was less
 than or equal to the available amount of input then the call
 would be successful, otherwise the buffer would come back
  
  
  


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

2003-12-01 Thread stas
stas2003/12/01 09:55:35

  Modified:t/response/TestAPI query.pm
  Log:
  indent
  
  Revision  ChangesPath
  1.3   +1 -1  modperl-2.0/t/response/TestAPI/query.pm
  
  Index: query.pm
  ===
  RCS file: /home/cvs/modperl-2.0/t/response/TestAPI/query.pm,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -u -r1.2 -r1.3
  --- query.pm  1 Dec 2003 17:28:36 -   1.2
  +++ query.pm  1 Dec 2003 17:55:35 -   1.3
  @@ -60,7 +60,7 @@
   my $query = Apache::MPM->query(Apache::MPMQ_IS_THREADED);
   
   ok t_cmp(Apache::MPMQ_STATIC,
  -$query,
  + $query,
"MPMQ_IS_THREADED ($mpm)");
   
   ok t_cmp($query,
  
  
  


cvs commit: modperl-2.0/todo utils.txt

2003-12-01 Thread stas
stas2003/12/01 11:08:46

  Modified:todo utils.txt
  Log:
  mp2doc is already implemented
  
  Revision  ChangesPath
  1.4   +0 -9  modperl-2.0/todo/utils.txt
  
  Index: utils.txt
  ===
  RCS file: /home/cvs/modperl-2.0/todo/utils.txt,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -u -r1.3 -r1.4
  --- utils.txt 14 Mar 2003 02:23:56 -  1.3
  +++ utils.txt 1 Dec 2003 19:08:46 -   1.4
  @@ -1,14 +1,5 @@
   a helper tools/utils that we want/need to have:
   
  -
  -- perldoc won't search pods under Apache2/ unless you have a PERL5LIB
  -  with Apache2 dirs. We could provide a custom version of modperl2doc:
  -
  -  #!/usr/bin/perl
  -  use Apache2;
  -  use Pod::Perldoc;
  -  exit( Pod::Perldoc->run() ); 
  -
   - Changes files should be autogenerated from cvs logs.

 [ Ask thinks that's a really bad idea; such logs are rarely
  
  
  


cvs commit: modperl-2.0/todo utils.txt

2003-12-01 Thread stas
stas2003/12/01 11:09:54

  Modified:todo utils.txt
  Log:
  looks like we don't really want this change log autogenerator
  
  Revision  ChangesPath
  1.5   +0 -29 modperl-2.0/todo/utils.txt
  
  Index: utils.txt
  ===
  RCS file: /home/cvs/modperl-2.0/todo/utils.txt,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -u -r1.4 -r1.5
  --- utils.txt 1 Dec 2003 19:08:46 -   1.4
  +++ utils.txt 1 Dec 2003 19:09:54 -   1.5
  @@ -1,30 +1 @@
   a helper tools/utils that we want/need to have:
  -
  -- Changes files should be autogenerated from cvs logs.
  - 
  -  [ Ask thinks that's a really bad idea; such logs are rarely
  -useful. Too verbose and nitty gritty detailed for their own good.
  -"foo->sda fixed to be foo->sdb to fix foogo bug in blah" vs "fixed
  -foogo bug in blah (patch from C. Ontributor)"
  -
  -I have always found the mod_perl change logs very useful and
  -helpful in the current format.  
  -  ]
  -
  -  http://www.red-bean.com/cvs2cl/ already does that, but we have an
  -  extra wish list:
  -
  -  o \n after the list of files
  -
  -  o the PR: Obtained from: Submitted by: Reviewed by: 
  -could each be on their own line and omitted if there is no value
  -(e.g. none of the current modperl-2.0 changes have a PR)
  -
  -  o 2001-09-08 11:00  stas
  -were expanded to the full name
  -2001-09-08 11:00  Stas Bekman
  -
  -  o if we could somehow skip the Apache-Test directory, since that
  -ChangeLog should be in httpd-test/perl-framework
  -
  -
  
  
  


cvs commit: modperl-2.0/todo api.txt release

2003-12-01 Thread stas
stas2003/12/01 11:11:19

  Modified:todo api.txt release
  Log:
  move the issue to the new release file
  
  Revision  ChangesPath
  1.38  +0 -2  modperl-2.0/todo/api.txt
  
<>
  
  
  1.5   +2 -1  modperl-2.0/todo/release
  
  Index: release
  ===
  RCS file: /home/cvs/modperl-2.0/todo/release,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -u -r1.4 -r1.5
  --- release   23 Nov 2003 08:47:29 -  1.4
  +++ release   1 Dec 2003 19:11:19 -   1.5
  @@ -179,6 +179,7 @@
   * Apache::Reload
 - needs to handle properly redefined subs warnings
   
  -
  +* Apache->unescape_url{_info}:
  +  not yet implemented.  should be moved to Apache::Util
   
   
  
  
  


cvs commit: modperl-2.0/todo features_deprecated deprecated_features.txt

2003-12-01 Thread stas
stas2003/12/01 11:13:42

  Added:   todo features_deprecated
  Removed: todo deprecated_features.txt
  Log:
  rename to be consistent with other filenames
  
  Revision  ChangesPath
  1.1  modperl-2.0/todo/features_deprecated
  
  Index: features_deprecated
  ===
  these features with either:
  a) never be in 2.0
  b) only be in #ifdef MP_DEPRECATED
  c) be a form that was nothing like 1.xx (e.g. Apache::Leak)
  d) split off into something standalone on cpan
  
  - MaxModPerlRequestsPerChild
  
  - $r->seqno, $r->sent_header, 
$r->query_string, $r->basic_http_header, $r->new_read,
$r->write_client, $r->read_client_block, $r->translate_name
  
  - $r->content, $r->args in-a-list-context (exist in Apache::compat)
  
  - $Apache::Server::Starting, $Apache::Server::ReStarting
  
  - modules: 
+ Apache::SIG: dead
+ Apache::Symbol: unknown
+ Apache::Leak: could be made useful
+ Apache::RedirectLogFix: dead
+ Apache::Include: was just an example
+ Apache::Debug: could be make useful
+ Apache::FakeRequest: should be built in
+ Apache::httpd_conf: dead (to be replaced by new test framework)
+ Apache::Symdump: unknown
+ Apache::Opcode: was experimental, needs much attention to be
  useful
  
  
  


cvs commit: modperl-2.0/todo possible_new_features.txt

2003-12-01 Thread stas
stas2003/12/01 11:15:23

  Modified:todo possible_new_features.txt
  Log:
  implemented: use 5.7.1+'s PerlIO rather than tied filehandles
  
  Revision  ChangesPath
  1.21  +0 -2  modperl-2.0/todo/possible_new_features.txt
  
  Index: possible_new_features.txt
  ===
  RCS file: /home/cvs/modperl-2.0/todo/possible_new_features.txt,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -u -r1.20 -r1.21
  --- possible_new_features.txt 18 Nov 2003 21:45:18 -  1.20
  +++ possible_new_features.txt 1 Dec 2003 19:15:23 -   1.21
  @@ -49,8 +49,6 @@
   optimization features:
   -
   
  -- use 5.7.1+'s PerlIO rather than tied filehandles
  -
   - copy-on-write SvPVX
   
   - hook Perl malloc into apr_pool
  
  
  


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

2003-12-01 Thread geoff
geoff   2003/12/01 11:16:51

  Modified:t/response/TestAPR finfo.pm
  Log:
  use the more idiomatic object method $r->finfo->stat() form, rather than
  passing the APR::Finfo object as the first argument to a function
  
  Revision  ChangesPath
  1.6   +1 -2  modperl-2.0/t/response/TestAPR/finfo.pm
  
  Index: finfo.pm
  ===
  RCS file: /home/cvs/modperl-2.0/t/response/TestAPR/finfo.pm,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- finfo.pm  22 Nov 2003 21:59:21 -  1.5
  +++ finfo.pm  1 Dec 2003 19:16:51 -   1.6
  @@ -45,8 +45,7 @@
   # stat tests
   {
   # populate the finfo struct first
  -my $status = APR::Finfo::stat($r->finfo, $file, 
  -  APR::FINFO_NORM, $r->pool);
  +my $status = $r->finfo->stat($file, APR::FINFO_NORM, $r->pool);
   
   ok t_cmp(APR::SUCCESS,
$status,
  
  
  


cvs commit: modperl-2.0 Changes

2003-12-01 Thread geoff
geoff   2003/12/01 11:17:41

  Modified:.Changes
  Log:
  use the more idiomatic object method $r->finfo->stat() form, rather than
  passing the APR::Finfo object as the first argument to a function
  
  Revision  ChangesPath
  1.266 +1 -1  modperl-2.0/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl-2.0/Changes,v
  retrieving revision 1.265
  retrieving revision 1.266
  diff -u -r1.265 -r1.266
  --- Changes   1 Dec 2003 17:28:50 -   1.265
  +++ Changes   1 Dec 2003 19:17:41 -   1.266
  @@ -38,7 +38,7 @@
   
   add access to $r->finfo() and related APR::Finfo methods,
   such as $r->finfo->size(), $r->finfo->mtime(), and
  -APR::Finfo::stat() [Geoffrey Young]
  +$r->finfo->stat() [Geoffrey Young]
   
   add :filetype import tag to APR::Const [Geoffrey Young]
   
  
  
  


cvs commit: modperl-2.0/todo possible_new_features.txt features_maybe

2003-12-01 Thread stas
stas2003/12/01 11:19:11

  Modified:todo possible_new_features.txt features_maybe
  Log:
  another reshuffle
  
  Revision  ChangesPath
  1.22  +0 -123modperl-2.0/todo/possible_new_features.txt
  
<>
  
  
  1.3   +125 -0modperl-2.0/todo/features_maybe
  
  Index: features_maybe
  ===
  RCS file: /home/cvs/modperl-2.0/todo/features_maybe,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -u -r1.2 -r1.3
  --- features_maybe18 Nov 2003 21:45:18 -  1.2
  +++ features_maybe1 Dec 2003 19:19:11 -   1.3
  @@ -33,3 +33,128 @@
 We could also have PerlServerCleanupHandler, but that's exactly what
 PerlChildExitHandler does. Consider having ServerCleanup as an alias.
   
  +config features:
  +
  +
  +- tie %ENV to r->subprocess_env so stores are added to
  +  r->subprocess_env and fetches are looked up in there and elsewhere
  +  (e.g. HTTP_* from r->headers_in).  see modperl_env.c, current
  +  implementation is not threadsafe and requires 5.7.2+
  + 
  +- make 'PerlSetVar $Foo value' work like 'local $Foo = value' 
  +  for the given location
  +
  +- allow Perl*Handler's to have arguments in config files
  +
  +- allow  configuration sections to have read access to internal
  +  configuration structures (would be nice if we could tie a %namespace::) 
  +
  +- setuid/gid before running any Perl code
  +
  +- implement PerlINC (or similar) as a nicer interface for the working
  +  PerlSwitches -Mlib=/home/dev1/lib/perl, to set different @INC for
  +  different virtual hosts.
  +  See the thread: http://marc.theaimsgroup.com/?t=10055485881&r=1&w=2
  +
  +- a possible implementation of PerlOptions +Inherit, similar to
  +  +Parent but which allows virtual hosts to inherit everything that
  +  was loaded by the main server, at the point of their definition in
  +  the config file. This can make it easier to write configuration
  +  files where there is a common base of modules to be loaded in all
  +  servers. Of course this can be done by putting all these common
  +  modules and code into foo.pl and running it from the base server and
  +  all virtual hosts.
  +
  +-  PerlModule can be made more efficient using Perl_load_module
  +
  +
  +
  +perl language features:
  +--
  +
  +- @ARGV magic, tie to query string
  +
  +- sub handler : method ($) {}
  +  call $class->new($r) and pass the returned object as the first and
  +  only arg to the method handler
  +
  +- some mod_perlIO/PerlIO type methods for xs modules? (e.g. Apache::Peek)
  +
  +- possible to support BEGIN,CHECK,INIT blocks similar to how END is
  +  supported via ModPerl::Global::special_list_{call,clear}
  +
  +
  +
  +optimization features:
  +-
  +
  +- copy-on-write SvPVX
  +
  +- hook Perl malloc into apr_pool
  +
  +- for "compiled handlers" w/ ithreads manage SV allocation via
  +  server-lifetime apr_pool_t
  +
  +- "garbage collector" thread to walk padlists looking for certain things
  +   worth releasing.
  +
  +- "mip manager" thread to watch # of active interpreters,
  +  cloning/destroying when needed (rather than waiting for a request to
  +  trigger)
  +
  +- use subpools per-callback/handler (might trim some memory bloat)
  +  note: creating subpools requires a malloc mutex lock with threaded
  +  mpms
  +
  +api:
  +---
  +
  +- improve the "stacked handlers" implementation, including:
  +  + allow push_handlers to have an additional argument, an array ref,
  +which will be passed to the handler as arguments, e.g.
  +$r->push_handlers("PerlHandler", \&some_sub, ['one', 'two', 'etc']);
  +
  +- might add an alias for $filter->connection (now we have $filter->c), to be
  +  more intuitive since we have $r->connection.
  +
  +modules:
  +---
  +
  +- Apache::Registry should check return value of the subroutine,
  +  e.g. for REDIRECT   
  +
  +- should Apache::Registry use filename instead of vhost_name+uri?
  +
  +- core Apache::SubProcess w/ proper CORE::GLOBAL::{fork,exec} support
  +  + currently works only with $] >= 5.007003 (see the
  +apache/subprocess test)
  +
  +- It's possible that we will add:
  +
  +  #ifdef MP_APACHE_COMPAT
  +   modperl_require_module("Apache::compat");
  +  #endif
  +
  +  if MP_APACHE_COMPAT Makefile.PL option is true. But this adds bloat,
  +  so this is just an option to consider.
  +
  +- Apache::File->tmpfile now lives only in compat. Consider adding
  +  APR::File->mktemp (apr_file_mktemp) and a perlio layer
  +  defined in terms of apr_file_t to use it.
  +
  +new modules:
  +---
  +
  +- apache.pm: use apache '1.3b3';
  +
  +misc new stuff:
  +--
  +
  +- 'make html'
  +
  +- 'make test_report'
  +
  +apache features that would be neat for mod_perl:
  +---
  +
  +- "autoload" hook for configuration direct

cvs commit: modperl-2.0/todo README api.txt filters.txt missing_old_features.txt possible_new_features.txt utils.txt

2003-12-01 Thread stas
stas2003/12/01 11:21:43

  Modified:todo README
  Removed: .ROADMAP
   todo api.txt filters.txt missing_old_features.txt
possible_new_features.txt utils.txt
  Log:
  complete the re-org of the todo issues
  
  Revision  ChangesPath
  1.6   +7 -1  modperl-2.0/todo/README
  
  Index: README
  ===
  RCS file: /home/cvs/modperl-2.0/todo/README,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -u -r1.5 -r1.6
  --- README18 Nov 2003 21:45:18 -  1.5
  +++ README1 Dec 2003 19:21:43 -   1.6
  @@ -1 +1,7 @@
  -this directory contains notes on whats left to be done
  \ No newline at end of file
  +this directory contains notes on whats left to be done:
  +
  +release- showstopper issues for mod_perl 2.0 release
  +
  +features_* -
  +
  +bugs_* - 
  \ No newline at end of file
  
  
  


cvs commit: modperl-2.0/todo features_maybe

2003-12-01 Thread stas
stas2003/12/01 11:48:23

  Modified:todo features_maybe
  Log:
  log the status of PerlModule speedup
  
  Revision  ChangesPath
  1.4   +4 -1  modperl-2.0/todo/features_maybe
  
  Index: features_maybe
  ===
  RCS file: /home/cvs/modperl-2.0/todo/features_maybe,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -u -r1.3 -r1.4
  --- features_maybe1 Dec 2003 19:19:11 -   1.3
  +++ features_maybe1 Dec 2003 19:48:22 -   1.4
  @@ -67,7 +67,10 @@
   
   -  PerlModule can be made more efficient using Perl_load_module
   
  -
  +  Status: it's possible to implement, but currently there is no way to
  +  prevent from Perl logging the loading error messages to the
  +  console
  +  http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2003-03/msg00319.html
   
   perl language features:
   --