Fix starvation issue on listening sockets where a short-lived
connection on a rarely-accessed listening socket will cause a
child to hold the accept mutex and block out new connections until
another connection arrives on that rarely-accessed listening socket.
With Apache 2.x there is no performance concern about enabling the
logic for platforms which don't need it, so it is enabled everywhere
except for Win32. [Jeff Trawick]
(already in 2.0.49, propagating to mirrors now)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@103029 13f79535-47bb-0310-9956-ffa450edef68
is at least FD_SETSIZE.
That isn't a problem for most users (since poll() is widespread).
On old boxes where select() must be used by APR, APR needs to fail
operations that don't work with such fds.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102419 13f79535-47bb-0310-9956-ffa450edef68
because of the changes to the argument lists of apr_mmap_dup and apr_socket_create,
2.1-dev won't build with apr and apr-util's 0.9 branch anymore
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@101154 13f79535-47bb-0310-9956-ffa450edef68
unixd_set_global|proc_mutex_perms(). Allow the functions to be
called for any type of mutex.
This resolves a fatal problem with mod_rewrite on systems where
APR uses flock-based mutex.
It simplifies mod_ssl as well, which had special logic to perform
the chown(). It fixed an init error with mod_ssl on systems where
flock is used when the user had no SSLMutex directive.
The Unix MPMs continue to call unixd_set_global|proc_mutex_perms()
only for SysV sems. There is no permission problem with flock-based
accept mutexes since the child init logic for the MPMs is done
prior to switching identity.
PR: 20312
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@100189 13f79535-47bb-0310-9956-ffa450edef68
and .dbg files (older debuggers and Dr. Watson-type utilities
on WinNT or Win9x don't support the newer .pdb flavor.)
[Allen Edwards, William Rowe]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98596 13f79535-47bb-0310-9956-ffa450edef68
messages are going to a file anyway. In other words, don't hold the screen
open if the -E <filename> command line parameter is used.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@97507 13f79535-47bb-0310-9956-ffa450edef68
step in making a legible multiprocess windows mpm, or at least
structuring the code to always begin a new child as an old one is
going to die soon, rather than waiting for it's final dying breath.
The only code that had to be affected [due to the split and general
structure of the code] was merging the set_listeners_noninherited()
code directly into the get_listeners_from_parent code, and also into
the apr socket.c code for winnt. For the most part the code splits
rather nicely.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96221 13f79535-47bb-0310-9956-ffa450edef68
it contains defined(WIN32)||defined(DOXYGEN) requirements to prevent the
other platform exports from barfing. Please ack if this works for you.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96019 13f79535-47bb-0310-9956-ffa450edef68
attempt to lose const on progname
strrchr was not the real library function that takes a
const parameter; instead, strrchr was the Apache macro which
makes it clear that const will be lost
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95900 13f79535-47bb-0310-9956-ffa450edef68
with relative paths instead of absolute paths. Apache 1.3 used
absolute paths for everything except for SuExec, this brings back
that standard.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95899 13f79535-47bb-0310-9956-ffa450edef68
Deals with apr utf-8 encoding of filesystem values, so we preserve
strings in any locality or nationalized flavor of WinNT, and avoid
the gunk for Win9x.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95875 13f79535-47bb-0310-9956-ffa450edef68