Parent Directory
|
Revision Log
| Links to HEAD: | (view) (annotate) |
| Sticky Revision: |
fix wrong name in function prototype which led to unresolved reference at link time hint at adding some doc as well
Don't require all listeners to be created equal ...
* Add extern "C" linkage to several headers to make it easier to use them in C++ code. PR: 42286 Submitted by: Davi Arnaut <davi haxent.com.br> Reviewed by: rpluem
update license header text
Update the copyright year in all .c, .h and .xml files
Doxygen fixup / cleanup submited by: Neale Ranns neale ranns.org reviewed by: Ian Holsman
Correct the function prototype/declaration
Provide a function for closing all of the listeners.
* This is useful for properly implementing a graceful stop and restart
where we want child processess to be able to carry on serving a request
but "de-listen" from a port. So that another instance entirely can be
started in our place, or to unbind from a "Listen" directive an admin
has removed from the configuration.
Merge the listen-protocol sandbox branch to trunk.
I will be adding documentation for the new directives hopefully in the next day or so.
* server/core.c: Added 'Protocol' to the core module config
Added ap_{set,get}_server_protocol API.
Added new directive: 'AcceptFilter'.
Enable 'httpready' by default on systems that support it. Use dataready filters for others.
* server/listen.c: Attempt to inherit protocols from Listener Records to Server configs.
The 'Listen' directive can now optionally take a protocol arg
Move bits that determined which accept filter is applied to core.c.
Added bits to find the correct accept filter based on the core's configuration.
* include/{ap_listen.h,http_core.h}: Add Protocol to respective structures.
* include/http_core.h: Add the accf_map table to the core_server_config structure
* include/ap_mmn.h: Minor MMN Bump for the new interfacces.
* modules/ssl/ssl_engine_init.c: Use the new protocol framework to enable mod_ssl for 'https' websites.
The SPMT_OS2_MPM doesn't exist. The warning is also wrong, since both winnt and prefork MPMs call this function.
Add ReceiveBufferSize directive to control the TCP receive buffer. Submitted by: Eric Covener <covener gmail.com> Reviewed by: Justin Erenkrantz (with minor formatting tweaks)
Update copyright year to 2005 and standardize on current copyright owner line.
Fix gcc "no previous prototype" warnings after reorganisation: * server/core_filters.c (ap_core_input_filter, ap_core_output_filter, ap_net_time_filter): Renamed to add ap_ prefixes for global symbols. * include/ap_listen.h: Don't export ap_listen_open at all, it's not used outside server/listen.c any more. * server/listen.c (open_listeners): Renamed from ap_listen_open.
Declare the ap_set_listen* functions with AP_DECLARE_NONSTD for Win32 support. (I think this is what is needed for Win32, but I'm not quite sure.)
Properly export ap_listen_* functions. * server/listen.c: Add AP_DECLARE as appropriate. * include/ap_listen.h: Add AP_DECLARE as appropriate.
general property cleanup
fix name of The Apache Software Foundation
fix copyright dates according to the first check in
apply Apache License, Version 2.0
update license to 2004.
finished that boring job: update license to 2003. Happy New Year! ;-))
Update our copyright for this year.
Fixed ap_listeners so that it will be included in the AWK generated export lists
Allow modules that add sockets to the ap_listeners list to
define the function that should be used to accept on that
socket. Each MPM can define their own function to use for
the accept function with the MPM_ACCEPT_FUNC macro. This
also abstracts out all of the Unix accept error handling
logic, which has become out of synch across Unix MPMs.
The code flow is much easier now for different transports:
1) During pre-config, post-config or while parsing the config
file, add a socket to the ap_listeners list, making sure to
define an accept function at the same time.
2) MPMs find the correct listener, and call the accept function
that was defined in step 1.
3) That accept function returns a void pointer, which is passed
to the create_connection hook.
4) create_connection adds the correct low-level filters.
Remove commas from the end of the macros that define directives that are used by MPMs. Previous to this patch, you would use these macros without commans, which was unlike any other directives. Now, after the macro, you must have a comma. This makes the macros look more like the rest of the directives. I know this is cosmetic, and I was going to leave it alone, but when I found out that it bothered Cliff too, I decided to fix it after all. Submitted by: Ryan Bloom and Cliff Woolley
*) Reimplement the Windows MPM (mpm_winnt.c) to eliminate calling
DuplicateHandle on an IOCompletionPort (a practice which
MS "discourages"). The new model does not rely on associating
the completion port with the listening sockets, thus the
completion port can be completely managed within the child
process. A dedicated thread accepts connections off the network,
then calls PostQueuedCompletionStatus() to wake up worker
threads blocked on the completion port.
[Bill Stoddard]
Update copyright to 2001
Include mpm.h so the tests for SPMT_OS2_MPM actually work.
Force all Apache functions to be linked into the executable, whether they are used or not. This uses the same mechanism that is used for APR and APR-util. This may not be the correct solution, but it works, and that is what I really care about. This also renames CHARSET_EBCDIC to AP_CHARSET_EBCDIC. This is for namespace correctness, but it also makes the exports script a bit easier.
tweak the responsibilities of make_sock() and alloc_listener() because we need to resolve the hostname (i.e., call apr_getaddrinfo()) before creating the socket so that we get a socket of the appropriate family also, simplify some of the address displays in some error logs
Remove an unnecessary header file. PR: Obtained from: Submitted by: Reviewed by:
Missed these first time round... More apr_port_t changes.
Change prefork to use the same listen api as the rest of the unix mpms (ap_setup_listeners). This eliminates the need to force a recompile of listen.c when you switch to/from using prefork.
prefix libapr functions and types with apr_
Document ap_listen.h using ScanDoc.
OS/2: Put back creation of listeners in main thread in spmt_os2 MPM.
Fix the prefork MPM to make it compile and work again out-of-the-box.
Move setup_listeners to listen.c. This renames it to ap_setup_listeners, 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.
More consification, correct command initialisation.
Fixes to allow Apache to run as a Win95 service... highlights main_win32.h : Moved delarations to a header, by request ap_listen.h : References types declared in http_config.h http_main.h : Add the Win32 flavor entry point declaration apr.hw : Cleanup the redundancy department of redundancy win32/proc.c : Double null termination was required here Everything else should be obvious and isolated to Win32. Build files will be committed seperately.
Update to Apache Software License version 1.1
Fix all the License issues. Including: s/Apache Group/Apache Software Foundation/ s/1999/2000/ s/Sascha's license/ASF license
Use AcceptEx with an async completion port. What we are gaining here is LIFO dispatching out of the worker thread pool.
ap_listeners must be extern, otherwise you get multiple definitions
Well this was thought provoking. 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.
Restarts were hosed after the APR changes because we were opening sockets even when we had them open already. So, for now, add an "active" flag that indicates whether the socket stored in the listen_rec is an actual open socket yet.
Remove all of the calls to functions like "ap_popenf". These functions were 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
Changed pools to contexts. Tested with prefork and pthread mpm's. I'll check this out tomorrow and make sure everything was checked in correctly.
Change method of checking for active FDs after poll() in the pthread MPM. The new method doesn't require any changes to the listen abstraction.
Updated the pthread MPM to work with the rest of the code
- ap_listen.h: interface to Listen, ListenBackLog and SendBufferSize directives - I didn't update mpmt_pthread with this change, it shouldn't be hard to fix. - maybe this isn't the best way to abstract listen... but it gets a little bit of the job done
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
| apache@apache.org | ViewVC Help |
| Powered by ViewVC 1.1.2 |