work around problems in the awk script by avoiding some #if and
#ifdefs. This has bitten us many times in generating the exports.c
file. This improvement allows corrects the header file parsing.
Submitted by: Sander Striker <striker@apache.org>
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89647 13f79535-47bb-0310-9956-ffa450edef68
called by perform_idle_server_maintenance.
allocate & init one apr_sockaddr_t for the dummy connect at pod open time.
use a temporary subpool for the apr_socket_t
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89612 13f79535-47bb-0310-9956-ffa450edef68
added an AP_MPMQ_MAX_DAEMON_USED to refer to the highest
daemon index actually used in the scoreboard. I also
updated the pertinent calls.
Paul J. Reder
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89604 13f79535-47bb-0310-9956-ffa450edef68
functions. This allows APR programs to specify that a socket should
be passed to any child processes that are created. The inherit flag
is only meaningful if programs use apr_process_create(). This
also adds a couple of macros that allow APR types to set and unset
the inherit flag.
This also fixes Apache to use the new API.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89557 13f79535-47bb-0310-9956-ffa450edef68
the Apache child process, CGI scripts, rotatelog process
etc. If the Apache child process segfaults, any processes
that the child started are not reaped. Prior to this fix,
these processes inherited the listening sockets which sometimes
prevented the restarted Apache child process from accepting
connections (ie, the server would hang).
The Sleep(1000) is a bit of a hack but it is sufficient I believe. All
that is really necessary is for the parent to give up its quantum and
allow the child to run. I could not get WaitForInputIdle to work properly.
Will investigate alternative solutions later.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89547 13f79535-47bb-0310-9956-ffa450edef68
when the parent process wakes up a server process via connect(), use
an APR timeout on the connect() so that we don't hang for a long time
if there aren't server processes around to do accept()
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89539 13f79535-47bb-0310-9956-ffa450edef68
if a graceful restart occurred while we were processing the
connection. Otherwise, we won't wake up until a real connection
comes in and we'll use the wrong config to process it and we may
block in the wrong syscall (because the new generation is using a
different accept mutex) and in general it is goofy.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89531 13f79535-47bb-0310-9956-ffa450edef68
required exposing a build directory and a source directory to all parts
of Apache's build system. It also required a small hack in APR-util, if
we are using the bundled Expat, and we are using VPATH support, then we
have hard-coded the xml/expat location. I couldn't figure out how to
allow the configure script to determine the correct location. I added a
comment, but if somebody else figures it out, we should fix that at some
point.
PR: 7630
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89517 13f79535-47bb-0310-9956-ffa450edef68
CGI scripts was being buffered in the brigade before any of it was
written to the network. cl filter now honors flush and implements a
buffer threshold.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89503 13f79535-47bb-0310-9956-ffa450edef68
to throw it away, so here it is added as comments for people who are
in the same place I was trying to debug what was going on inside a hook.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89496 13f79535-47bb-0310-9956-ffa450edef68
seeing with the server eating itself wasn't because we were comparing
the idle_thread_count and min/max spare servers wrong. It was because
we were counting idle_thread_count incorrectly. This fixes that problem.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89495 13f79535-47bb-0310-9956-ffa450edef68
up with a heavy load. The server still doesn't kill processes correctly,
so we need to fix that, but we are closer now.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89494 13f79535-47bb-0310-9956-ffa450edef68
count how many threads are actually idle, regardless of which process they
are in. This patch makes us use (min_spare_threads|max_spare_threads)
* number_of_running_servers to determine if we should kill of processes or
start new ones. This MPM no longer thrashes killing child processes as
soon as they are created, and the server continues to serve requests even
if the server is gracefully restarted and each child has one active thread.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89488 13f79535-47bb-0310-9956-ffa450edef68
fill_in_sub_req_vars function to propogate the rnew values, but doesn't
yet hook it in. Note that there are two discrepancies, apparently
pretty bad ones, that have been moved after the 'common code' so the
next patch becomes pretty simple.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89441 13f79535-47bb-0310-9956-ffa450edef68
and apr_bucket_file_make().
*) Simplify mod_file_cache's sendfile_handler by taking advantage
the new ability of file buckets to handle files opened in XTHREAD
mode. [Also inlined some of the brigade construction stuff in
mod_file_cache's handlers to save a palloc() or two.]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89438 13f79535-47bb-0310-9956-ffa450edef68
and add an ap_sub_req_lookup_dirent() to create a subrequest from the
results of an apr_dir_read() for mod_negotiation and mod_autoindex.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89437 13f79535-47bb-0310-9956-ffa450edef68