General Hints
Apache 2.0 may well be
multithreaded
(depending on the MPM in use), and, of course, the Win32 version
always is. If you want your module to stand the test of time, you
should avoid global variables, if at all possible. If not possible,
put some thought into how they will be used by a multithreaded
server. Don’t forget that you can use the
notes
table in the request record to store any
per-request data you may need to pass between hooks.
Never use a fixed-length buffer. Many of the security holes found in Internet software have fixed-length buffers at their root. The pool mechanism provides a rich set of tools you can use to avoid the need for fixed-length buffers.
Remember that your module is just one of a random set an Apache user may configure into his server. Don’t rely on anything that may be peculiar to your own setup. And don’t do anything that might interfere with other modules (a tall order, we know, but do your best!).
Get Apache: The Definitive Guide, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.