with this. To begin with, we store both the socket and the BUFF in the
conn_rec. Functions are free to use which ever they want, in the end all
of the data goes to the same place. This modifies all of the MPMs except
Windows. All of the Unix MPMs are working, but the others need to be
tested.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86651 13f79535-47bb-0310-9956-ffa450edef68
for CORE_EXPORT to AP_CORE_DECLARE (namespace protecting the wrapper)
and retitled API_EXPORT as AP_DECLARE and APR_EXPORT as APR_DECLARE.
All _VAR_ flavors changes to _DATA to be absolutely clear.
Thank you Greg, for the most obvious suggestion.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86609 13f79535-47bb-0310-9956-ffa450edef68
APR_STATUS_IS_EACCES(s)
APR_STATUS_IS_EEXIST(s)
APR_STATUS_IS_ENAMETOOLONG(s)
APR_STATUS_IS_ENOENT(s)
Where the old EACCES et. al. still exist, we have a problem (not yet
using APR at all)
More to come...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86417 13f79535-47bb-0310-9956-ffa450edef68
(ap_setup_listeners). This eliminates the need to force a recompile of
listen.c when you switch to/from using prefork.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86179 13f79535-47bb-0310-9956-ffa450edef68
filtering beginning to work. There is a hack that has been repeated
through this patch, we morph a pipe into a socket, and put the socket
into the BUFF. Everytime we do that, we are working with a pipe from
a CGI, and we should be creating a pipe bucket and passing that bucket
back. Because we don't actually have pipe buckets yet, we are using this
hack. When we get pipe buckets, this will be fixed.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86136 13f79535-47bb-0310-9956-ffa450edef68
Note that several areas have not been tested as they apply to MPMs or APR
code that I can't test.
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86133 13f79535-47bb-0310-9956-ffa450edef68
see src/lib/apr/apr_compat.h for most details.
Also a few minor nits to get Win32 to build.
PR:
Obtained from:
Submitted by:
Reviewed by:
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86008 13f79535-47bb-0310-9956-ffa450edef68
ONE_PROCESS. This allows Apache to start up without detaching from
the controlling terminal, but also not going into single process mode.
The main purpose of this patch is to make it very easy to debug the
child process startup code.
PR: 2144
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85970 13f79535-47bb-0310-9956-ffa450edef68
sense for that declaraion to move to ap_iol.h. This also modifies all of
the files that include iol_socket.h to include ap_iol.h
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85934 13f79535-47bb-0310-9956-ffa450edef68
create a new header for those functions. This is the first step to
removing the apr/lib directory completely, and moving those files/functions
to descriptive directories.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85867 13f79535-47bb-0310-9956-ffa450edef68
call ap_unix_child_init_lock() at the right time, so any
lock mechanism which had interesting work to do (only flock())
was broken.
Fix the flock() flavor of ap_unix_child_init_lock(). It expected
to create the lock file when it should in fact open the existing
one. It also neglected to return the new ap_lock_t structure to
the caller.
Improve logging of lock init errors in prefork (I know, prefork is
a lame duck, but I used the improved logging in prefork to help
debug the problem).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85861 13f79535-47bb-0310-9956-ffa450edef68
and removes the duplicated code from all effected MPMs. The only this
doesn't touch, is Windows. That MPM was using a different setup_listeners.
If one of the Windows guys would like to modify the WinNT MPM to use the
same setup_lsiteners, that would be VERY cool.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85809 13f79535-47bb-0310-9956-ffa450edef68
to ap_process_child_status and opening up ap_coredump_dir. I have
modified all of the MPMs that I saw using this function to work with this
patch. Sorry if I broke anybody.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85808 13f79535-47bb-0310-9956-ffa450edef68
of the heap. The extra malloc/free is a significant performance
hit on some platforms and repeatedly alloc/freeing small chunks of storage
can fragment the heap.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85770 13f79535-47bb-0310-9956-ffa450edef68
own iol_sockets using APR. This just combines all of that code to a
common file and moves that file to main. I have tested this with all of
the Unix MPM's, but I am willing to bet I missed something (Makefiles) for
Windows, and possibly moving some code for OS/2 and BeOS.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85732 13f79535-47bb-0310-9956-ffa450edef68
Include time.h for time().
This removes a bunch of compiler warnings with gcc -Wall on AIX.
Submitted by: Jeff Trawick, Victor Orlikowski
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85723 13f79535-47bb-0310-9956-ffa450edef68
ap_select in ap_config.h. The only file that used ap_select() was
prefork.c. I have modified prefork.c to use select instead of ap_select.
In the future, this should be modified to use ap_poll like the rest of the
Unix MPMs. There are other MPMs that are continuing to use select, but this
too should change in time.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85663 13f79535-47bb-0310-9956-ffa450edef68
compiled-in limits (e.g., ThreadsPerChild, MaxClients, StartTreads).
missing: the same minor changes for the 2nd BeOS MPM
Submitted by: Greg Ames
Reviewed by: Jeff Trawick
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85645 13f79535-47bb-0310-9956-ffa450edef68
This also modifies the ap_detach function to look like unixd_detach.
Finally all calls to unixd_detach are changed to ap_detach.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85635 13f79535-47bb-0310-9956-ffa450edef68
including any files. Because of this change, other files must include
their own headers. I also cleaned up a couple of other bugs in some
modules because I had to compile them all.
I expect this to break multiple platforms, but this will be fixed over time.
The massive configure cleanup is almost done. I will go through the files
one more time after this commit.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85553 13f79535-47bb-0310-9956-ffa450edef68
It has not been getting a lock at all recently.
Note: The TPF and SGI folks need to each APR how to get the most
efficient lock on those platforms. (For SGI it depends on whether
or not we're building for SMP.)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85479 13f79535-47bb-0310-9956-ffa450edef68
Obtained from:
Submitted by:
Reviewed by:
Reverse out all _EXPORT_VAR changes back to their original _VAR_EXPORT
names for linkage (API_, CORE_, and MODULE_).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85318 13f79535-47bb-0310-9956-ffa450edef68
Especially necessary under Win32, or other non-unix front ends where
oddball arguments might be required, but without causing a mess in
http_main.c.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85311 13f79535-47bb-0310-9956-ffa450edef68
specification arguments to the ap_hooks.h declarations. As with
the APR_ and AP_ patches, API_VAR_EXPORT becomes API_EXPORT_VAR,
and MODULE_VAR_EXPORT becomes MODULE_EXPORT_VAR.
I will be happy to revert the inclusion of ap_config.h from
httpd.h if this bothers anyone. More individual modules need
to be patched if we do so.
The API_EXPORTs all moved into central storage in the ap_config.h
header. Without WIN32 or API_STATIC compile time declarations,
these macros remain no-ops.
This patch also moves the following data from http_main to http_config:
const char *ap_server_argv0;
const char *ap_server_root;
ap_array_header_t *ap_server_pre_read_config;
ap_array_header_t *ap_server_post_read_config;
ap_array_header_t *ap_server_config_defines;
And the following variables had already moved into ap_hooks.c:
ap_pool_t *g_pHookPool; (initialized now in http_config)
int g_bDebugHooks; (out of http_config)
const char *g_szCurrentHookName; (out of http_config)
The changes to http_main.c are in preparation for that module to
move out to a seperate .exe for win32. Other platforms will be
unaffected, outside of these changes.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85309 13f79535-47bb-0310-9956-ffa450edef68
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
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