1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-26 19:01:35 +03:00
Commit Graph

46 Commits

Author SHA1 Message Date
Jim Jagielski
536cfa19ee Syncing makes no sense now
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94309 13f79535-47bb-0310-9956-ffa450edef68
2002-03-29 16:21:48 +00:00
Jim Jagielski
70bb2575ea 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:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94306 13f79535-47bb-0310-9956-ffa450edef68
2002-03-29 14:33:50 +00:00
Roy T. Fielding
845cbfd508 Update our copyright for this year.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93918 13f79535-47bb-0310-9956-ffa450edef68
2002-03-13 20:48:07 +00:00
Doug MacEachern
4cdb6b8dec ap_calc_scoreboard_size() needs to be exported for win32
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93590 13f79535-47bb-0310-9956-ffa450edef68
2002-02-27 04:10:19 +00:00
Aaron Bannert
d2fe7ba429 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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93523 13f79535-47bb-0310-9956-ffa450edef68
2002-02-21 01:30:06 +00:00
Bill Stoddard
b1e828a3bf 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93502 13f79535-47bb-0310-9956-ffa450edef68
2002-02-19 21:09:27 +00:00
Aaron Bannert
0cff6e8f58 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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93434 13f79535-47bb-0310-9956-ffa450edef68
2002-02-15 20:48:19 +00:00
Ryan Bloom
5cd5470300 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93119 13f79535-47bb-0310-9956-ffa450edef68
2002-01-30 22:35:57 +00:00
Jeff Trawick
7c1ce28ee1 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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93055 13f79535-47bb-0310-9956-ffa450edef68
2002-01-28 00:41:32 +00:00
William A. Rowe Jr
7e1113f913 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92791 13f79535-47bb-0310-9956-ffa450edef68
2002-01-10 00:28:00 +00:00
Brian Havard
a329ff6cf9 Make calc_scoreboard_size() and init_scoreboard() usable from MPMs.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92661 13f79535-47bb-0310-9956-ffa450edef68
2001-12-30 13:27:48 +00:00
Jeff Trawick
2c44e1c672 tiny cleanup to remove bogus SCOREBOARD_SIZE define
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92650 13f79535-47bb-0310-9956-ffa450edef68
2001-12-29 19:55:46 +00:00
Jeff Trawick
187e9ae3b9 Change core code to allow an MPM to set hard thread/server
limits at startup.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92512 13f79535-47bb-0310-9956-ffa450edef68
2001-12-18 13:48:54 +00:00
William A. Rowe Jr
a9b9a36d86 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92385 13f79535-47bb-0310-9956-ffa450edef68
2001-12-07 22:19:38 +00:00
Aaron Bannert
229c5302cd Provide an accessor function for the global_score portion of the scoreboard.
Submitted by:	Harrie Hazewinkel <harrie@covalent.net>
Reviewed by:	Aaron Bannert


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92377 13f79535-47bb-0310-9956-ffa450edef68
2001-12-07 19:08:50 +00:00
Aaron Bannert
889ecbb03a 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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92375 13f79535-47bb-0310-9956-ffa450edef68
2001-12-07 19:06:29 +00:00
William A. Rowe Jr
96f407ace1 Thanks Jerry, this was forgotten in my tree.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89857 13f79535-47bb-0310-9956-ffa450edef68
2001-08-01 06:23:00 +00:00
Greg Ames
96408397d3 Fix a problem where the threaded MPM stalls after restarts or segfaults.
Also prevent multiple active processes from using the same scoreboard slot.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89761 13f79535-47bb-0310-9956-ffa450edef68
2001-07-28 23:39:07 +00:00
William A. Rowe Jr
5b71e358f3 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89727 13f79535-47bb-0310-9956-ffa450edef68
2001-07-26 15:53:15 +00:00
William A. Rowe Jr
c4549d2816 Remainder of Win32 ap_create_scoreboard fooness
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89610 13f79535-47bb-0310-9956-ffa450edef68
2001-07-18 21:14:21 +00:00
Ryan Bloom
3d8f3ce64b 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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89608 13f79535-47bb-0310-9956-ffa450edef68
2001-07-18 20:45:36 +00:00
Ryan Bloom
6a04393470 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89554 13f79535-47bb-0310-9956-ffa450edef68
2001-07-16 02:29:33 +00:00
Greg Ames
5139e492bd 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89542 13f79535-47bb-0310-9956-ffa450edef68
2001-07-12 03:20:50 +00:00
Ryan Bloom
2843b8672e 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>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89532 13f79535-47bb-0310-9956-ffa450edef68
2001-07-10 19:00:03 +00:00
William A. Rowe Jr
0ba63f0532 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]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89326 13f79535-47bb-0310-9956-ffa450edef68
2001-06-10 00:37:59 +00:00
Paul J. Reder
768f9e72e4 Ooops. Didn't remove *all* of the new_scoreboard stuff. This was harmless,
but should be consistent and complete. It is now completely removed.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89117 13f79535-47bb-0310-9956-ffa450edef68
2001-05-15 13:41:27 +00:00
Paul J. Reder
1b2262dd30 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]


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89115 13f79535-47bb-0310-9956-ffa450edef68
2001-05-15 02:38:17 +00:00
Jeff Trawick
e4fad412b8 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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89048 13f79535-47bb-0310-9956-ffa450edef68
2001-05-07 16:24:14 +00:00
Jeff Trawick
99ba37d329 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89047 13f79535-47bb-0310-9956-ffa450edef68
2001-05-07 15:49:42 +00:00
Greg Ames
c196a6ab1f 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 :-)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88924 13f79535-47bb-0310-9956-ffa450edef68
2001-04-23 23:14:35 +00:00
Greg Ames
27c9f0c550 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88913 13f79535-47bb-0310-9956-ffa450edef68
2001-04-23 02:13:17 +00:00
Paul J. Reder
a3d7fb947d 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.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88741 13f79535-47bb-0310-9956-ffa450edef68
2001-04-06 20:12:09 +00:00
Greg Stein
4f28702c9c clean out some old crud from ap_config.h
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88296 13f79535-47bb-0310-9956-ffa450edef68
2001-02-24 03:40:50 +00:00
Roy T. Fielding
381f88d56a Update copyright to 2001
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88184 13f79535-47bb-0310-9956-ffa450edef68
2001-02-16 04:26:53 +00:00
Bill Stoddard
6bb2157915 Start getting extended status working again.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88151 13f79535-47bb-0310-9956-ffa450edef68
2001-02-14 02:52:23 +00:00
Bill Stoddard
e2456e4963 Replace reinit_scoreboard with ap_create_scoreboard.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88037 13f79535-47bb-0310-9956-ffa450edef68
2001-02-09 16:11:50 +00:00
Bill Stoddard
45ac04075e Fix windows compile break
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88027 13f79535-47bb-0310-9956-ffa450edef68
2001-02-09 04:19:42 +00:00
Brian Havard
0612881f3a Move OS/2 MPM specific variables out of scoreboard & into an array local to
the MPM.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88014 13f79535-47bb-0310-9956-ffa450edef68
2001-02-07 23:25:31 +00:00
Ryan Bloom
ded4233ad5 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88012 13f79535-47bb-0310-9956-ffa450edef68
2001-02-07 20:49:25 +00:00
Brian Havard
79a04fdc22 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:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88001 13f79535-47bb-0310-9956-ffa450edef68
2001-02-06 23:33:31 +00:00
Jeff Trawick
6d788a6303 get Unix MPMs to build again after recent scoreboard changes
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87997 13f79535-47bb-0310-9956-ffa450edef68
2001-02-06 22:22:59 +00:00
Brian Havard
2e86e9ae83 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87989 13f79535-47bb-0310-9956-ffa450edef68
2001-02-06 15:16:05 +00:00
Bill Stoddard
b119ec0e60 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87959 13f79535-47bb-0310-9956-ffa450edef68
2001-02-02 21:32:34 +00:00
Jeff Trawick
285464090f avoid duplicate symbol warnings on some platforms (e.g., AIX)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87956 13f79535-47bb-0310-9956-ffa450edef68
2001-02-02 16:47:44 +00:00
Bill Stoddard
fcb1d63766 Remove duplicate function declaration
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87954 13f79535-47bb-0310-9956-ffa450edef68
2001-02-02 15:08:52 +00:00
Ryan Bloom
deab760727 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87949 13f79535-47bb-0310-9956-ffa450edef68
2001-02-01 21:55:16 +00:00