Whether you are using prefork or worker MPM depends on your configuration (see https://httpd.apache.org/docs/2.0/mpm.html
). One way to tell which is in use, is to run "httpd -V" and look for the "Server MPM" line. Alternately run "httpd -l", and look for prefork.c or worker.c in the output.
If you're changing things in the source, I trust you are recompiling too, otherwise your changes will have no effect. If so, the MPM is specified with the "--with-mpm=MPM" option to the configure command. The default is prefork on Unix.
If you are recompiling, is there a reason for running Apache 2.2.15 and not the latest patch level (2.2.22)?
The correct way to change #define values is to add something like "-D HARD_SERVER_LIMIT=1024" to your CFLAGS environment variable before compiling.
How did you conclude that HARD_SERVER_LIMIT is the problem? As far as I can tell, this setting isn't used in the Apache 2.2 worker or prefork MPMs; they use MAX_SERVER_LIMIT, which is set as follows (as per https://httpd.apache.org/docs/2.2/mo...#serverlimit):
There is a hard limit of ServerLimit 20000 compiled into the server (for the prefork MPM 200000). This is intended to avoid nasty effects caused by typos.
Have you checked for a ServerLimit
directive in your config files that may be causing the problem? Changing this should solve the problem.