work is not anywhere near finished, but the cleanup has begun at least.
Had to make a couple of variables non-static, so a name change was required
since they are now viewable from outside the library. The advantage to this
is code that is much easier to maintain into the future, because it is
duplicated less often.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85249 13f79535-47bb-0310-9956-ffa450edef68
child exit status by adding an exit status parameter to
ap_wait_all_procs(); with this change, the mpms use
ap_wait_all_procs() more like they previously used waitpid().
With the introduction of the exit status parameter, the definition
of ap_wait_t was moved from Apache to APR. There was some handling
of union wait for the type of the exit status parameter to waitpid()
which I retained (but cannot test). For WIN32, ap_wait_t was defined
as int (in apr.hw). No current Windows code uses ap_wait_t, but a
type is required so that references to ap_wait_t in apr_thread_proc.h
can compile on Windows.
Note: There is still a storage leak in the way that the Unix mpms call
ap_wait_all_procs()... this will be resolved at some later time.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85243 13f79535-47bb-0310-9956-ffa450edef68
. the types of the parameters to pthread_attr_setdetachstate()
and pthread_detach()
. the fact that sigprocmask() must be use to set a thread's
signal mask
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85230 13f79535-47bb-0310-9956-ffa450edef68
if USE_SO_LINGER is not defined. Move responsibility for closing connections out
of http_connection.c and into the MPMs.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85194 13f79535-47bb-0310-9956-ffa450edef68
ap_canonical_errror() for Unix now maps EWOULDBLOCK to EAGAIN/APR_EAGAIN
when appropriate so that the changes here (as well as bjh's changes from a
few days ago) to call ap_canonical_error() before comparing with EWOULDBLOCK
will work on Unix as well.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85019 13f79535-47bb-0310-9956-ffa450edef68
all of the Apache macros that modules don't need access to. This should
have been committed with the modules, but I wasn't paying attention to the
directory I was in when I ran the commit.
Submitted by: Manoj Kasichainula and Ryan Bloom
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84493 13f79535-47bb-0310-9956-ffa450edef68
ap_start_(shutdown|restart) are no longer static in dexter, because we
explicitly state we are creating them to be called from places other than
the parent. This is the first in a series of patches to get the 2.0 code
to compile cleanly again.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84290 13f79535-47bb-0310-9956-ffa450edef68
is needed. It is much easier to do this conversion by hand than by
searching for old comments, so they are going away now.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84128 13f79535-47bb-0310-9956-ffa450edef68
should make sure that the parent notes the creation of a child process
in the scoreboard so that perform_idle_server_maintanence doesn't get
the chance to claim that slot.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84116 13f79535-47bb-0310-9956-ffa450edef68
allocated from. This is needed because the lifetime of a connection is
ususally much shorter than that of the listen socket. Only tested on
OS/2.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84031 13f79535-47bb-0310-9956-ffa450edef68
apr_status codes in our error logs. The main advantage of this, is portable
error codes. Now, Windows will finally be able to use errno!
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84007 13f79535-47bb-0310-9956-ffa450edef68
and result parameters go first. Also fixed a small bug in the Makefile. We
should be removing the libs dir when we do a distclean, we are now.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83956 13f79535-47bb-0310-9956-ffa450edef68
Drive out the use of malloc in two places.
In listen.c, using the global process pool instead. That changes the
API into listen so that a process is passed in rather than the config
pool. That's all was easy.
The pain is propogating a change into all N of the mpm, they
are all similar but different in their use of listen.c There
is a lot to dislike about similar but code scattered code.
I changed the N setup_listener routines, they now take only
the server since they can dig the config and global pool
out of there.
Free today: ap_setup_prelinked_modules now takes the process so it
can allocate it's table in the process's pool rathern than use
malloc.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83943 13f79535-47bb-0310-9956-ffa450edef68
fruit, and moves most of the result parameters to the first argument.
Future patches in this series will move the rest of the result parameters
to the beginning of the list, and will move the context's to the end of the
list
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83927 13f79535-47bb-0310-9956-ffa450edef68
is retreivable using a char string. Basically, you provide a string that
will be used as a key when you store the data. If the key was used before,
we will overwrite the old data. When you want to retreive your data, pass
in the same key, and we will find the data you care about. This also makes
it harder to put user data in when creating a context, so that option has
disappeared. It is also impossible to inherit user data from parent contexts.
This option may be added in later. I will be documenting this VERY soon.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83901 13f79535-47bb-0310-9956-ffa450edef68
moved down to APR, but they are being removed. They are not portable, and
were only moved down for backwards compatability. With this change, they can
be safely removed, which is the next commit on it's way.
Submitted by: Ryan Bloom and Paul Reder
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83879 13f79535-47bb-0310-9956-ffa450edef68