You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by do...@apache.org on 2001/01/02 20:03:10 UTC
cvs commit: modperl-2.0/todo deprecated_features.txt missing_old_features.txt possible_new_features.txt Apache-class.txt README breakdown.txt c-sources.txt perl-modules.txt request_rec.typdef xs-sources.txt
dougm 01/01/02 11:03:09
Modified: . 00README_FIRST ToDo
todo Apache-class.txt README
Added: todo deprecated_features.txt missing_old_features.txt
possible_new_features.txt
Removed: todo breakdown.txt c-sources.txt perl-modules.txt
request_rec.typdef xs-sources.txt
Log:
cleanup todo docs a bit
Revision Changes Path
1.11 +3 -3 modperl-2.0/00README_FIRST
Index: 00README_FIRST
===================================================================
RCS file: /home/cvs/modperl-2.0/00README_FIRST,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- 00README_FIRST 2000/06/14 16:07:06 1.10
+++ 00README_FIRST 2001/01/02 19:03:01 1.11
@@ -19,7 +19,7 @@
% perl Makefile.PL && make
-% cd ../apache-2.0/src
+% cd ../httpd-2.0
% ./configure --prefix=$HOME/apache-2.0 --with-mpm=mpmt_pthread
% patch -p1 < ../../modperl-2.0/patches/link-hack.pat
% make
@@ -28,7 +28,7 @@
% perl Makefile.PL MP_USE_DSO=1 && make
-% cd ../apache-2.0/src
+% cd ../httpd-2.0
% ./configure --with-mpm=mpmt_pthread ...
% make
@@ -58,4 +58,4 @@
warn "hey, it works!";
}
---dougm 04/28
+--dougm 01/02
1.2 +8 -131 modperl-2.0/ToDo
Index: ToDo
===================================================================
RCS file: /home/cvs/modperl-2.0/ToDo,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ToDo 1999/04/07 16:01:02 1.1
+++ ToDo 2001/01/02 19:03:02 1.2
@@ -1,135 +1,12 @@
-ToDo items carried over from the 1.xx ToDo
-see the todo/ directory for whats really going on here
+this is a *very* short-term todo list, anything more should be in the
+todo directory.
-directives/configuration
-------------------------
+should never have gone in, get out soon:
+---------------------------------------
-- PerlAllowOverride directive to enable/disable hooks
- (Jason Riedy <ej...@cise.ufl.edu>)
+- s/stderr/MP_logfp/
-- PerlEngine On/Off [Vivek Khera <kh...@kciLink.com>]
+other:
+-----
-- make 'PerlSetVar $Foo value' work like 'local $Foo = value'
- for the given location
-
-- <Perl> in .htaccess (could also call known bug)
-
-- change configuration during runtime?
-
-- improve the "stacked handlers" implementation, including:
- + config merging of AV*'s
-
- + 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']);
-
-- allow Perl*Handler's to have arguments in config files, e.g.:
-
- (calls &FooPackage::handler($r, "One", "Two", "Three");
-
-- allow <Perl></Perl> configuration sections to have read access to internal
- configuration structures (would be nice if we could tie a %namespace::)
-
-namespace/globals
------------------
-
-- provide namespace protection when 'use Foo' might be two different modules
- i.e. re-visit Apache::Safe
-
-- provide namespace protection for mod_include #perl's
-
-- @ARGV magic, tie to query string
-
-- overload %ENV magic:
- + call subprocess_env when a value is set
- Doug Bagley <do...@dejanews.com>
- + so it's not setup unless asked for
-
-- "save stack" mechanism so we can go back to caching CV lookups
-
----------------------------------------------------------------------------
-OPTIMIZATIONS
----------------------------------------------------------------------------
-
-- avoid write_client symtab lookup in print()
-
-- preloading of method cache
-
-- replace Apache::PerlRun with Apache::PerlRunXS
-
-- replace Apache::Registry with Apache::RegistryXS
-
-- make Apache::RegistryLoader work with RegistryXS
-
-- avoid a copy in PerlRunXS (use SvPVX instead of safemalloc'd copy)
-
-- XS_IMPORT=1 on by default
-
-- in places where Apache did a pstrdup, don't use newSVpv(), use
- newSV()->sv_upgrade()->SvPVX/SvCUR_set to avoid another copy
-
-- Apache::Constants::constant
-
-
----------------------------------------------------------------------------
-NEW MODULE STUFF
----------------------------------------------------------------------------
-
-- Apache::Status extensions (ix)
-
-- StatINC doesn't reimport the imported symbols?
- Stas Bekman <sb...@iil.intel.com>,
- Message-Id: <Pi...@ilx374.iil.intel.com>
-- Look at Apache::ASP's handling of exported functions (for implementation
- in Apache::StatINC) (same thing as above?) [ask]
-
-- Option to StatINC to make it possible to only watch chosen modules
- [ask]
-
-- Apache::Registry should check return value of the subroutine,
- e.g. for REDIRECT
-
-- should Apache::Registry use filename instead of vhost_name+uri?
- Ben Laurie <be...@algroup.co.uk>
-
-- apache.pm: use apache '1.3b3';
-
-- have Apache::Status hunt for AUTOLOADing
-
-- Apache::Status should list number of things
-
-- Apache::Include->virtual should update %ENV?
-
-- Apache::Registry should honor __END__ and __DATA__,
- but how to get it right?
-
----------------------------------------------------------------------------
-MISC NEW STUFF
----------------------------------------------------------------------------
-
-- 'make htmldoc' (Brian Moseley)
-
-- make 'make test_report' more useful
-
-- should be able to set PerlSetVar's to an empty string (Eric Cholet)
-
-- perl_clear_env() should skip those found in PerlPassEnv?
-
-- File::copy($file,*STDOUT) doesn't work (pp_syswrite needs tie support)
- Bill Coffman <co...@value.net>
-
-- option to set uid/gid before running any Perl code (copy-n-paste
- from http_main.c)
- Doug Bagley <do...@dejanews.com>
-
-- $Apache::ServerStarting in <Perl>
-
-- something with exec()?
-
-- Apache->http_message(501); #rc code returns a string
-
-- PerlFreshRestart, restarts on startup, should we stop that?
-
-- special treatment for nph- scripts?
-
-- fix Thread->new == linux<-SIGUSR1->Apache signal clash
+- filter/bucket stats, e.g. mod_autoindex is brutal
\ No newline at end of file
1.2 +2 -0 modperl-2.0/todo/Apache-class.txt
Index: Apache-class.txt
===================================================================
RCS file: /home/cvs/modperl-2.0/todo/Apache-class.txt,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Apache-class.txt 1999/04/07 16:01:03 1.1
+++ Apache-class.txt 2001/01/02 19:03:05 1.2
@@ -1,3 +1,5 @@
+Apache.xs in 1.xx is way bloated.
+
Apache::Constants imports
DECLINED
OK
1.2 +23 -7 modperl-2.0/todo/README
Index: README
===================================================================
RCS file: /home/cvs/modperl-2.0/todo/README,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- README 1999/04/07 16:01:03 1.1
+++ README 2001/01/02 19:03:05 1.2
@@ -1,8 +1,24 @@
-there is much ToDo for 2.0, this directory contains notes and test
-code.
+this directory contains notes on whats left to be done, covering all
+areas including:
-breakdown.txt - major components of mod_perl
-Apache-class.txt - notes on Apache.{pm,xs}
-c-sources.txt - notes on the mod_perl .[ch] sources
-perl-modules.txt - notes on the mod_perl Apache::* modules
-xs-sources.txt - notes on the mod_perl xs interfaces
+o interptreter management
+o Perl interfaces to Apache structures
+o Perl interfaces to Apache API functions
+o I/O + filtering
+o stacked handlers, method handlers
+o <Perl> sections
+o directive handlers
+o cgi emulation, i.e. %ENV/END{}/@INC/exit() management
+o pure Perl Apache::* extras (e.g. Apache::Status, etc)
+o build framework
+o test framework
+o examples
+o docs
+
+somewhat prioritized into:
+
+- missing_old_features.txt
+
+- deprecated_features.txt
+
+- possible_new_features.txt
\ No newline at end of file
1.1 modperl-2.0/todo/deprecated_features.txt
Index: deprecated_features.txt
===================================================================
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::Leek)
d) split off into something standalone on cpan
- MaxModPerlRequestsPerChild
- $r->seqno
- $Apache::Server::Starting, $Apache::Server::ReStarting
- $Apache::Server::AddVersion, $Apache::Server::CWD
- modules:
+ Apache::SIG: dead
+ Apache::StatINC: replace with or point to Apache::Reload
or rewrite in C
+ 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
1.1 modperl-2.0/todo/missing_old_features.txt
Index: missing_old_features.txt
===================================================================
this file contains known missing features from 1.3, these are to be
implemented unless otherwise noted. there are more missing features
listed in deprecated_features.txt
- test suite
- DirectiveHandlers
- <Perl> sections
- modperl_include #perl
- PerlOpCodeMask (experimental in 1.xx)
- PerlFreshRestart
- PerlSendHeader
- cgi emulation, i.e. %ENV/END{}/@INC/exit() management
- set Perl ids after fork $( $) $< $> (child_init)
- die 404;
- ... others ...
core modules:
------------
- Apache, Apache::Server, Apache::Connection
- Apache::Constants, Apache::Constants::Exports
- Apache::ModuleConfig, Apache::CmdParms
- Apache::File, Apache::Log, Apache::URI, Apache::Util
addon modules:
-------------
- mod_perl.pm::import
- Apache::PerlRun, Apache::{Registry,RegistryNG}, Apache::RegistryLoader
- Apache::Status
- Apache::test: tobe a compat stub around new test framework
- Apache::src: tobe a compat stub around new build framework
- Apache::PerlSections: depends on <Perl>
- Apache::SizeLimit and Apache::Resource
- Apache::ExtUtils
- Bundle::Apache
1.1 modperl-2.0/todo/possible_new_features.txt
Index: possible_new_features.txt
===================================================================
config features:
----------------
- make 'PerlSetVar $Foo value' work like 'local $Foo = value'
for the given location
- allow Perl*Handler's to have arguments in config files
- allow <Perl></Perl> 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
perl language features:
----------------------
- @ARGV magic, tie to query string
- overload %ENV magic to call subprocess_env when a value is set
- 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)
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)
api:
---
- Apache->http_message(501); #rc code returns a string
- improve the "stacked handlers" implementation, including:
+ config merging of AV*'s
+ 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']);
modules:
-------
- Apache::Registry should check return value of the subroutine,
e.g. for REDIRECT
- should Apache::Registry use filename instead of vhost_name+uri?
- Apache::Registry should honor __END__ and __DATA__,
- core Apache::SubProcess w/ proper CORE::GLOBAL::{fork,exec} support
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 directives