From: Daniel Gruno Apache 2.0 uses Doxygen to
+ Apache 2.4 uses Doxygen to
document the APIs and global variables in the code. This will explain
the basics of how to document using Doxygen.
In general, a hook function is one that Apache will call at - some point during the processing of a request. Modules can - provide functions that are called, and specify when they get - called in comparison to other modules.
+In general, a hook function is one that the Apache HTTP Server + will call at some point during the processing of a request. + Modules can provide functions that are called, and specify when + they get called in comparison to other modules.
The first hook that does not return DECLINED
stops the loop and its return value is returned from the hook
- caller. Note that DECLINED
is the tradition Apache
- hook return meaning "I didn't do anything", but it can be
+ caller. Note that DECLINED
is the traditional
+ hook return value meaning "I didn't do anything", but it can be
whatever suits you.
Alternatively, all hooks can be run until an error occurs. @@ -163,7 +163,7 @@
During initialisation, Apache will call each modules hook +
During initialisation, the server will call each modules hook registering function, which is included in the module structure:
@@ -198,9 +198,9 @@ order relative to each other, but, of course, all modules usingAPR_HOOK_FIRST
will be run before APR_HOOK_MIDDLE
which are before APR_HOOK_LAST
. Modules that don't care
- when they are run should use APR_HOOK_MIDDLE
. (I spaced
- these out so people could do stuff like APR_HOOK_FIRST-2
- to get in slightly earlier, but is this wise? - Ben)
+ when they are run should use APR_HOOK_MIDDLE
. These
+ values are spaced out, so that positions like APR_HOOK_FIRST-2
+ are possible to hook slightly earlier than other functions.
Note that there are two more values,
APR_HOOK_REALLY_FIRST
and APR_HOOK_REALLY_LAST
. These
@@ -229,7 +229,6 @@
ordering set by APR_HOOK_ORDER
is preserved, as far
as is possible.
Ben Laurie, 15th August 1999
Several changes in Apache 2.0 affect the internal request +
Several changes in 2.0 and above affect the internal request processing mechanics. Module authors need to be aware of these changes so they may take advantage of the optimizations and security enhancements.
The first major change is to the subrequest and redirect
mechanisms. There were a number of different code paths in
- Apache 1.3 to attempt to optimize subrequest or redirect
- behavior. As patches were introduced to 2.0, these
+ the Apache HTTP Server 1.3 to attempt to optimize subrequest
+ or redirect behavior. As patches were introduced to 2.0, these
optimizations (and the server behavior) were quickly broken due
to this duplication of code. All duplicate code has been folded
back into ap_process_request_internal()
to prevent
@@ -50,7 +50,7 @@
and correct implementation of the HTTP server RFC. Additional
goals include security, scalability and optimization. New
methods were sought to optimize the server (beyond the
- performance of Apache 1.3) without introducing fragile or
+ performance of 1.3) without introducing fragile or
insecure code.
To streamline requests, the module author can take advantage of the hooks offered to drop out of the request cycle early, or - to bypass core Apache hooks which are irrelevant (and costly in + to bypass core hooks which are irrelevant (and costly in terms of CPU.)
diff --git a/docs/manual/developer/thread_safety.xml b/docs/manual/developer/thread_safety.xml index c3c0ca6255..4c92753f9e 100644 --- a/docs/manual/developer/thread_safety.xml +++ b/docs/manual/developer/thread_safety.xml @@ -23,10 +23,10 @@When using any of the threaded mpms in Apache 2.0 it is important +
When using any of the threaded mpms in the Apache HTTP Server 2.x it is important that every function called from Apache be thread safe. When linking in 3rd party extensions it can be difficult to determine whether the resulting server will be thread safe. Casual testing generally won't tell you this