85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsyncAPACHE 2.x ROADMAP
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync==================
ecd27a5c936b5767a6c08e21e204f2d4340ec926vboxsyncLast modified at [$Date$]
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsyncWORKS IN PROGRESS
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync-----------------
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync * Source code should follow style guidelines.
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync OK, we all agree pretty code is good. Probably best to clean this
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync up by hand immediately upon branching a 2.1 tree.
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync Status: Justin volunteers to hand-edit the entire source tree ;)
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync Justin says:
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync Recall when the release plan for 2.0 was written:
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync Absolute Enforcement of an "Apache Style" for code.
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync Watch this slip into 3.0.
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync David says:
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync The style guide needs to be reviewed before this can be done.
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync The current file is dated April 20th 1998!
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync OtherBill offers:
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync It's survived since '98 because it's welldone :-) Suggest we
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync simply follow whatever is documented in styleguide.html as we
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync branch the next tree. Really sort of straightforward, if you
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync dislike a bit within that doc, bring it up on the dev@httpd
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync list prior to the next branch.
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync So Bill sums up ... let's get the code cleaned up in CVS head.
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync Remember, it just takes cvs diff -b (that is, --ignore-space-change)
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync to see the code changes and ignore that cruft. Get editing Justin :)
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync * Replace stat [deferred open] with open/fstat in directory_walk.
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync Justin, Ian, OtherBill all interested in this. Implies setting up
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync the apr_file_t member in request_rec, and having all modules use
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync that file, and allow the cleanup to close it [if it isn't a shared,
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync cached file handle.]
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync * The Async Apache Server implemented in terms of APR.
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync [Bill Stoddard's pet project.]
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync Message-ID: <008301c17d42$9b446970$01000100@sashimi> (dev@apr)
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync OtherBill notes that this can proceed in two parts...
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync Async accept, setup, and tear-down of the request
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync e.g. dealing with the incoming request headers, prior to
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync dispatching the request to a thread for processing.
85fc7dbf8f928aea2a6fddde85a77950f69284ddvboxsync This doesn't need to wait for a 2.x/3.0 bump.
We may want to try a hybrid sync-read/async-write MPM
build: start with the current worker or leader/followers
mapped by a location; e.g. docroot)
than calling apr_dir_open/read/close(), a caller uses
- Have an 'execute_resource' hook/func that allows the
a filter inserted by mod_php/perl/python. I'd suggest
that shell/batch scripts are similar.