Parent Directory
|
Revision Log
| Links to HEAD: | (view) (annotate) |
| Sticky Revision: |
remove declaration for ap_my_generation, which was replaced with the AP_MPMQ_GENERATION query in r757853
Provide new ap_update_child_status_from_conn() mostly for use with mod_noloris.c Add some logic protection, for NULL ref, which shoulda be there in any case.
remove TPF support
Remove unused sb_type member from process_score structure and do major MMN bump. The sb_type field was added in r89115 but not removed in r89554 along with related unused additions. Submitted by: Torsten Foertsch <torsten.foertsch@gmx.net>
API Cleanup in preperation for 2.4.x, make sure all exported functions or variables contain an ap_ prefix.
Add in SeeRequestTail directive, to handle the shortcoming of only storing 63 bytes of the request, when the requests are longer than that and only vary towards the end; eg: GET /disk1/storage/apache/htdocs/images/image-store1/food/fruits/seeded/apples.jpg GET /disk1/storage/apache/htdocs/images/image-store1/food/fruits/seeded/pears.jpg GET /disk1/storage/apache/htdocs/images/image-store1/food/fruits/seeded/plums.jpg
The function ap_time_process_request() needs to be declared appropriately if it is going to be used externally (now being called by mod_echo)
MMN major bump required; this API is altogether inconsistent, transparent types should be opaque, opaque types should be transparent. Solve one aspect, follow the _by_indexes() example for ap_get_scoreboard_worker family of functions, and the primary one will now accept the abstracted conn_rec value of sbh to find that connections slot.
lb_score is bigger proxy_worker_stat. Prevent wasting space.
Yeah. Good luck with that.
Maintain the illusion. It's not worth my time or energy to care about this anymore.
Reinstate the lb_score patch, but, protect against conflicting leakage as per jfc proposal.
semi-revert 573264. It is totally bogus that we need to do this, but until we create mod_proxy_structs.h which can then be included by mod_proxy.h as well as scoreboard.h, we'll make do.
lb_score *is* proxy_worker_stat... no need to "mask" that or use wasted space.
update license header text
Tidy up scoreboard.h (Chris Darroch)
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
worker MPM/mod_status: Support per-worker tracking of pid and generation in the scoreboard so that mod_status can accurately represent workers in processes which are gracefully terminating. New child processes with worker MPM can take over slots of individual threads within gracefully terminating processes. Sometimes this is a problem (too many of these gracefully terminating processes), so it is helpful to have mod_status provide the information required to recognize these processes.
Fix some symbols which should -not- be exported, and decorate real_exit_code with ap_ (this symbol must be exported.) If the others were desired to be public, they should have been ap_xxx decorated.
Update copyright year to 2005 and standardize on current copyright owner line.
Keep track of time taken to process requests again.
general property cleanup
veto and revert win64 patch: 64bit changes must percolate from the bottom (APR/system) up -- we can't give the client a 64bit API and then cast it to 32bits internally without introducing security holes on other platforms.
WIN64: API changes to clean up Windows 64bit compile warnings
Worker shared data has to be visible across all child processes, so remove creating that data on per-child basis.
Improve binary compatiblity. This fix was requested of me before it was committed, but it went in anyway - my bad :( PR: Obtained from: Submitted by: Mladen Turk <mturk@apache.org> Reviewed by:
Add load balancer support to the scoreboard in preparation for load balancing support in mod_proxy. PR: Obtained from: Submitted by: Mladen Turk <mturk@apache.org> Reviewed by:
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! ;-))
Syncing makes no sense now
The old, legacy (and unused) code in which the scoreboard was totally and completely contained in a file (SCOREBOARD_FILE) has been removed. This does not affect scoreboards which are *mapped* to files using named-shared-memory at all. This implies that scoreboards must be based, at some level, on native shared memory (mmap, shm_open, shmget, whatever), but the code has assumed that for quite awhile now. Having the scoreboard be *based* on a file makes no sense today. PR: Obtained from: Submitted by: Reviewed by:
Update our copyright for this year.
ap_calc_scoreboard_size() needs to be exported for win32
Placing the thread-limit and server-limit values, those which define the size of internal structures in the scoreboard, actually into the scoreboard allow third-party applications to access those structures. Submitted by: Adam Sussman <myddryn@vishnu.vidya.com> Reviewed by: Aaron Bannert
This fixes a bug in mod_status on Windows where restart time was not properly initialized. Move ap_restart_time into the scoreboard global area so the child process on non-forking platforms can have access to it.
Implement new ScoreBoardFile directive logic. This affects how we
create the scoreboard's shared memory segment. We now have the best of
both worlds:
if config specifies ScoreBoardFile
create name-based shared memory, errors are fatal
else /* we get to choose */
create anonymous shared memory
if ENOTIMPL
create name-based shared memory from DEFAULT_SCOREBOARD
else
errors are fatal
This gives us the flexibility to have anonymous shared memory (on platforms
that support it) as well as name-based shared memory when third-party
programs want access to our scoreboard.
The ap_scoreboard_fname static variable is now owned by the scoreboard.c
file, and no longer by the MPMs. The MPMs MUST NOT set ap_scoreboard_fname
to a default, since that will override the default creation logic and
only allow name-based segments.
Submitted by: Aaron Bannert
Reviewed by: Justin Erenkrantz
Change the Windows MPM to only use the pre_mpm phase in the parent process. The child processes use the child_init phase to reattach to the shared memory. This makes Windows work like Unix, which should make it easier for module authors to write portable modules.
fix the problem where a scoreboard init failure could leave mod_cgid stranded a pre_mpm hook can now return failures, so problems in ap_create_scoreboard percolate back to a place where Apache can exit cleanly
This patch eliminated from the _SHARED_ segment of the scoreboard all pointer math. This is required for portable scoreboards. vhost becomes the 'vhost name string' so it now survives ap_generation clicks. next was apparently never used. This patch also accounts for the changes to the apr_shm api, and gives Win32 the magic of a shared scoreboard. Breakage aplenty on non-win32 platforms, I suspect, but this radical surgery, and culling of unused functions, was really, really needed.
Make calc_scoreboard_size() and init_scoreboard() usable from MPMs.
tiny cleanup to remove bogus SCOREBOARD_SIZE define
Change core code to allow an MPM to set hard thread/server limits at startup.
AFAICT - these symbols are unused. The right solution, once required, is to wrap the FRAMING requirement into the mmap logic so we can always ask for a n byte mmap, only to be given a n + (pg - (n % pg)) byte region without consumer hassles.
Provide an accessor function for the global_score portion of the scoreboard. Submitted by: Harrie Hazewinkel <harrie@covalent.net> Reviewed by: Aaron Bannert
Export ap_get_parent_scoreboard and ap_get_servers_scoreboard to be usable on Win32 and friends. Submitted by: Harrie Hazewinkel <harrie@covalent.net> Reviewed by: Aaron Bannert
Thanks Jerry, this was forgotten in my tree.
Fix a problem where the threaded MPM stalls after restarts or segfaults. Also prevent multiple active processes from using the same scoreboard slot.
Change the length of the content args to apr_off_t identifiers, and fix mod_negotation to treat a size of -1 and indeterminate, instead of 0.
Remainder of Win32 ap_create_scoreboard fooness
Make scoreboard creation a hook. This allows management modules to have access to the scoreboard at the time that it is created, and at every restart request. Submitted by: Cody Sherr <csherr@covalent.net> Reviewed by: Ryan Bloom
Remove a couple fields from the scoreboard that aren't currently used. If we need these, they should be added when we begin to use them.
scratch an old itch - give lingering close its own state in the scoreboard. clean up SERVER_ACCEPTING and SERVER_QUEUEING (never set) while I'm at it.
Add two functions to allow modules to access random parts of the scoreboard. This allows modules compiled for one MPM to access the scoreboard, even if it the server was compiled for another MPM. Submitted by: Harrie Hazewinkel <harrie@covalent.net>
Was certain I had committed this. Position the scoreboard members such that the size and members can be derrived by the most stable elements, followed by derived elements. [Harrie Hazewinkel]
Ooops. Didn't remove *all* of the new_scoreboard stuff. This was harmless, but should be consistent and complete. It is now completely removed.
Make first phase changes to the scoreboard data structures in preparation for the rewriting of the scoreboard per my posted design notes. [Paul J. Reder]
minor scoreboard/status improvements: . get the SS field in extended status output formatted correctly (seconds since beginning of request shouldn't be a huge negative number :) ) . use APR_OS_PID_T_FMT and pid_t where appropriate in mod_status to avoid casting, some of which may have been broken on some architectures
Get rid of some Apache 1.x OPTIMIZE_TIMEOUTS cruft. Other logic in 1.3 which used this stuff would send SIGALRM to children in certain circumstances.
back out my quiesce limit change altogether from the threaded mpm until it learns how to go away nicely (shouldn't be too bad actually :-)
Limit the threaded mpm to quiescing one process at a time. This is to fix a problem where the scoreboard is filled with quiescing processes and no working processes can start, triggered by MaxRequestsPerChild. perform_idle_server_maintenance could theoretically cause it as well.
Changes required to make prefork clean up idle children properly. There was a window during which a starting worker deadlocks when an idle cleanup arrives before it completes init. Apache then keeps trying to cleanup the same deadlocked worker forever (until higher pids come along, but it still will never reduce below the deadlocked pid). Thus the number of children would not reduce to the correct idle level.
clean out some old crud from ap_config.h
Update copyright to 2001
Start getting extended status working again.
Replace reinit_scoreboard with ap_create_scoreboard.
Fix windows compile break
Move OS/2 MPM specific variables out of scoreboard & into an array local to the MPM.
Get the Unix MPMs restarting again. If we are going to register a cleanup for ap_cleanup_scoreboard, then we have to kill that cleanup with the same function. This also makes ap_cleanup_scoreboard a non-static function, and makes ap_cleanup_shared_mem a static function.
Don't include mpm.h from scoreboard.h as scoreboard.h is included from mpm.h. Instead, make the MPM type defined before including scoreboard.h. PR: Obtained from: Submitted by: Reviewed by:
get Unix MPMs to build again after recent scoreboard changes
Get OS/2 MPM running again after the reunification of the scoreboard code. mod_status still doesn't work right, I'll look into that next.
Begin restructuring scoreboard code to enable adding back in the ability to use IPC other than shared memory. Get mod_status working on Windows again. Still to do: Rename some of the function APIs. Replace all calls to reinit_scoreboard with ap_create_scoreboard. Add back in support for scoreboard files.
avoid duplicate symbol warnings on some platforms (e.g., AIX)
Remove duplicate function declaration
Bring mod_status for 2.0 back in line with mod_status for 1.3. This is basically a straight port of the 1.3 module to 2.0. The MPMs need to be modified a bit to work with mod_status, but prefork, mpmt_pthread, and dexter have already been changed. I will fix perchild tonight. There is a lot of common code that can be abstracted, and there seems to be a small bug with regard to what mpmt_pthread and dexter report as current connections. ExtendedStatus does work again, although until the bug mentioned above is fixed, it isn't as useful on mpmt_pthread and dexter. Next week, I will look at allowing other modules to add data to the STATUS page and possibly to the scoreboard itself.
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 |