1
0
mirror of https://github.com/apache/httpd.git synced 2026-10-25 10:59:28 +03:00
Commit Graph

1339 Commits

Author SHA1 Message Date
Brian Pane
e0b3cdeeac Use the new APR_POLLSET_NOCOPY option when creating the core pollset.
This eliminates the descriptor copying and mutex operations, and
O(n)-time apr_pollset_remove() loop when used with an apr_pollset
implementation that support the no-copy optimization.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-dev@327757 13f79535-47bb-0310-9956-ffa450edef68
2005-10-23 06:46:00 +00:00
Brian Pane
37c6f924a2 more verbose error message on write completion error
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-dev@312539 13f79535-47bb-0310-9956-ffa450edef68
2005-10-10 04:23:14 +00:00
Brian Pane
04745bea8e Enabled async write completion in the Event MPM
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-dev@312536 13f79535-47bb-0310-9956-ffa450edef68
2005-10-10 03:49:31 +00:00
Brian Pane
072aeca61f Fixed processing of pipelined requests
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-dev@312512 13f79535-47bb-0310-9956-ffa450edef68
2005-10-09 22:54:44 +00:00
Brian Pane
42bf8b16c9 Refactored CONN_STATE_WRITE_COMPLETION handling.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-dev@307380 13f79535-47bb-0310-9956-ffa450edef68
2005-10-09 08:15:40 +00:00
Brian Pane
e7d300d318 Refactored ap_process_request() so that in async MPMs, the MPM (and not
the httpd core) is responsible for write completion.

Note that, with this commit, the Event MPM is still doing write
completion synchronously.  I'll add async write completion as a
separate commit.

Note also that this commit breaks the (experimental) Leader/Followers
MPM on the (equally experimental) async-dev branch.  The fix is to add
either synchronous or asynchronous write completion to that MPM.  Rather
than hack in synchronous write completion, I'll revisit Leader/Followers
once I have async working in Event.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-dev@307362 13f79535-47bb-0310-9956-ffa450edef68
2005-10-09 04:49:52 +00:00
Brian Pane
06809b3c3f Forward-port of the latest event MPM code from the 2.3-dev trunk into
the async-dev branch


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-dev@307334 13f79535-47bb-0310-9956-ffa450edef68
2005-10-08 23:53:51 +00:00
Brian Pane
b821e76412 New version of ap_core_output_filter...
The big change is that it now does nonblocking writes when possible.  The
goal of this redesign is to more cleanly support asynchronous write completion
in MPMs such as Event or Leader.  However, the nonblocking writes may also
help in Worker and Prefork by allowing more overlapping of handler and
output filter processing with network writes.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-dev@291377 13f79535-47bb-0310-9956-ffa450edef68
2005-09-25 05:22:04 +00:00
Brian Pane
926f1e0ab3 Added asynchronous keep-alive support to the leader MPM...
the new io_multiplexer object is intended to provide a
foundation for async processing of the other connection
states.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-dev@280222 13f79535-47bb-0310-9956-ffa450edef68
2005-09-12 00:35:23 +00:00
Paul Querna
9c05049bff *) Create an optional function and MPM Query to replace the core output filter.
*) Put an example of using it into the Event MPM, which just calls the original core output filter.  


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-dev@278652 13f79535-47bb-0310-9956-ffa450edef68
2005-09-05 00:21:25 +00:00
Colm MacCarthaigh
cc841a28e5 Initiliase all of the first_*_limit variables to zero, so that we can actually
raise limits beyond their defaults reliably. 



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@265523 13f79535-47bb-0310-9956-ffa450edef68
2005-08-31 16:10:55 +00:00
Colm MacCarthaigh
106fdaa568 Revert one part. I should have tested seperately. This line isn't neccessary.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@265519 13f79535-47bb-0310-9956-ffa450edef68
2005-08-31 16:04:25 +00:00
Colm MacCarthaigh
cef7ca9fe6 Actually allow the admin to set thread_limit higher than the default.
Also, initialise the first_ variables, since they are tested in the
set_ functions.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@265518 13f79535-47bb-0310-9956-ffa450edef68
2005-08-31 16:01:13 +00:00
Jim Jagielski
d81de0d9b3 Add ap_append_pid(); This is performed enough to warrant
a function I think, especially with the fact that
the mapping of getpid() to APR_PID_T_FMT isn't
consistant in some areas. 


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@265506 13f79535-47bb-0310-9956-ffa450edef68
2005-08-31 15:22:08 +00:00
Jim Jagielski
1df26ab1bb More getpid format fixes
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@265504 13f79535-47bb-0310-9956-ffa450edef68
2005-08-31 15:18:54 +00:00
Colm MacCarthaigh
146fd39a5a Implement graceful stop in the event MPM. Implementation is identical to
the worker MPM implementation. 



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@264105 13f79535-47bb-0310-9956-ffa450edef68
2005-08-29 10:20:25 +00:00
Colm MacCarthaigh
36b3643d82 *how* did I mis-spell that.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@264104 13f79535-47bb-0310-9956-ffa450edef68
2005-08-29 09:38:33 +00:00
Colm MacCarthaigh
5a0531c52e Move the "GracefulShutdownTimeout" command definition into mpm_common
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@264103 13f79535-47bb-0310-9956-ffa450edef68
2005-08-29 09:28:27 +00:00
Ian Holsman
8c1e315d3f Doxygen fixup / cleanup
submited by: Neale Ranns neale ranns.org
reviewed by: Ian Holsman



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@263931 13f79535-47bb-0310-9956-ffa450edef68
2005-08-28 23:03:59 +00:00
Colm MacCarthaigh
fec621ccba Implement a graceful-stop for the worker MPM. We close our listeners, and then
ask each child process to do the same. We then monitor until all children have
exited.

The change to ap_start_shutdown(void) to ap_start_shutdown(int) may look like
an external API change, but the function is defined static, and used only in
one place.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@241819 13f79535-47bb-0310-9956-ffa450edef68
2005-08-27 23:22:50 +00:00
Colm MacCarthaigh
b4b88ed365 Re-add a simple, obvious, speed-up.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@241814 13f79535-47bb-0310-9956-ffa450edef68
2005-08-27 23:04:17 +00:00
Colm MacCarthaigh
04558bec28 Remove as many ghastly scoreboard loops from the graceful-shutdown code, and
replace with the new ap_relieve_child_processes() call. Add a sleep() call now,
as we lost the timeout inherent in ap_wait_or_timeout(). 1 second seems a sane
choice.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@240466 13f79535-47bb-0310-9956-ffa450edef68
2005-08-27 22:16:46 +00:00
Colm MacCarthaigh
d7c04b158c Move the "GracefulShutdownTimeout" directive into mpm_common, for re-use
with other MPM's.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@240296 13f79535-47bb-0310-9956-ffa450edef68
2005-08-26 17:43:24 +00:00
Colm MacCarthaigh
c6fb6c57d0 Implement a "graceful-stop" for the prefork MPM (might aswell do the hard one
first). 

General approach is to send SIGUSR1 to all children (which will de-listen, and
exit when finished), and to gather all children as they exit. 

We don't use a sleep(timeout) for the timeout implementation, because this
would lead to a rut of defunct children until the timeout had expired.

set_graceful_shutdown stolen from Ken Coar. See <3E84B1EC.3050007@Golux.Com>
(28 Mar 2003).



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@240270 13f79535-47bb-0310-9956-ffa450edef68
2005-08-26 16:09:54 +00:00
Colm MacCarthaigh
cdb2935300 Implement "de-listening" in the worker MPM. Fixes PR28167. Comments in CHANGES
file also cover r239710-1. 



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@239740 13f79535-47bb-0310-9956-ffa450edef68
2005-08-24 19:37:46 +00:00
Colm MacCarthaigh
aacf3609d2 Implement "de-listening" for graceful restarts with the prefork MPM. With this
change;

  1.) httpd -k graceful sends SIGUSR1 to the parent pid, which in turn
      sends SIGUSR1 to all of the active children,

  2.) Active children each close their copy of listener fd's.

This means that the listening sockets are freed for re-use. In the ordinary
case, this makes no difference. However if for example admin changes "Listen
80" to "Listen 81" in the config, this rev makes port 80 immediately available
(no waiting for the graceful children to die).



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@239711 13f79535-47bb-0310-9956-ffa450edef68
2005-08-24 16:58:11 +00:00
Colm MacCarthaigh
395896ae8d Remove support for the threaded-mpm's on Linux 2.0, and de-autoconf the
graceful restart signal. Frees up SIGWINCH for implementing graceful stop.
See <20050727114058.GA3390@stdlib.net> and subsequent thread on httpd-dev.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@239430 13f79535-47bb-0310-9956-ffa450edef68
2005-08-23 16:41:17 +00:00
Paul Querna
e1955172ab * event.c: Create ptrans pool as a child of pconf, to fix APR pool
lifetime checks in apr_tables.c.

Based on r170896 changes to the Worker MPM.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@179355 13f79535-47bb-0310-9956-ffa450edef68
2005-06-01 05:00:29 +00:00
Jeff Trawick
002ca1448b downgrade the log level of a proc_mutex_unlock error message
when it occurs during restart; it isn't at all uncommon then
when SysV semaphores are used for the accept mutex

same logic already in place for two other mutex calls


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@179317 13f79535-47bb-0310-9956-ffa450edef68
2005-05-31 23:57:41 +00:00
Joe Orton
9d9b45ae5c * server/mpm/worker/worker.c (listener_thread): Create ptrans pool as
a child of pconf, to fix APR pool lifetime checks in apr_tables.c.

Submitted by: Joe Schaefer


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@170896 13f79535-47bb-0310-9956-ffa450edef68
2005-05-19 09:01:22 +00:00
Greg Ames
e06eaebac5 missed a couple.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@168649 13f79535-47bb-0310-9956-ffa450edef68
2005-05-06 20:37:05 +00:00
Paul Querna
3bce42b631 Remove this old email from the source tree.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@168496 13f79535-47bb-0310-9956-ffa450edef68
2005-05-06 02:26:26 +00:00
Greg Ames
5ceb57af0d worker and event mpms: transient thread creation errors shouldn't take down
the whole server.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@168182 13f79535-47bb-0310-9956-ffa450edef68
2005-05-04 20:00:23 +00:00
Bradley Nicholes
6905d3d9d5 Allow httpd on NetWare to build using either the standard socket libraries or the Winsock libraries.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@161368 13f79535-47bb-0310-9956-ffa450edef68
2005-04-14 23:42:21 +00:00
Greg Ames
20b9c89da5 the style police have been sleeping
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@160211 13f79535-47bb-0310-9956-ffa450edef68
2005-04-05 19:45:32 +00:00
Bill Stoddard
7936e9161a Win32: Eliminate useless debug error message
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@160209 13f79535-47bb-0310-9956-ffa450edef68
2005-04-05 19:01:09 +00:00
Allan K. Edwards
e807f6b3c3 Fix Windows CompContext buff size miscalculation
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@158685 13f79535-47bb-0310-9956-ffa450edef68
2005-03-22 21:50:54 +00:00
Paul Querna
1fe9d2eba8 sync with mod_status hacks in the worker mpm.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@157810 13f79535-47bb-0310-9956-ffa450edef68
2005-03-16 21:48:57 +00:00
Paul Querna
49ff90cbe3 Add ap_mpm_is_experimental and ap_mpm_is_threaded. Use these instead of checking for specific MPMs.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@156574 13f79535-47bb-0310-9956-ffa450edef68
2005-03-08 22:40:33 +00:00
Bradley Nicholes
bb35e2f831 Make sure that the secure listen sockets that are created and injected into the ap_listeners lists by mod_nw_ssl are handled correctly so that they remain open and reused across restarts.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@156556 13f79535-47bb-0310-9956-ffa450edef68
2005-03-08 18:09:43 +00:00
Jeff Trawick
3e14f16867 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@156274 13f79535-47bb-0310-9956-ffa450edef68
2005-03-05 20:06:55 +00:00
Bill Stoddard
8af9f738b1 Win32: Init the args to mpm_service_install(). Prevents nasty things like segfaults
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@155833 13f79535-47bb-0310-9956-ffa450edef68
2005-03-01 22:38:04 +00:00
Bill Stoddard
14aff882b6 Win32: output some useful debug messages when installing the service
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@154322 13f79535-47bb-0310-9956-ffa450edef68
2005-02-18 17:05:29 +00:00
Bill Stoddard
5590c522d6 Win32: Move call of mpm_service_install to rewrite_args hook but continue thru post_config to check httpd.conf
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@154319 13f79535-47bb-0310-9956-ffa450edef68
2005-02-18 16:31:06 +00:00
William A. Rowe Jr
fc979108b0 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@154216 13f79535-47bb-0310-9956-ffa450edef68
2005-02-18 00:00:37 +00:00
Jeff Trawick
9ff46dd755 Remove formatting characters from ap_log_error() calls. These
were escaped as fallout from CAN-2003-0020.

Submitted by: Eric Covener <ecovener gmail.com>
Reviewed by: Jeff Trawick


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@153105 13f79535-47bb-0310-9956-ffa450edef68
2005-02-09 19:01:43 +00:00
Justin Erenkrantz
905cdf9f0b Update copyright year to 2005 and standardize on current copyright owner line.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@151408 13f79535-47bb-0310-9956-ffa450edef68
2005-02-04 20:28:49 +00:00
William A. Rowe Jr
06836908ad Eliminate a very ugly race - the parallel starting threads were picking
up thread identifiers other than their own.  Because the limit of threads
  is an int, stuffing the int into the void* value is a safe argument
  convention.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@123899 13f79535-47bb-0310-9956-ffa450edef68
2005-01-02 20:18:58 +00:00
Greg Ames
1192058be2 ap_queue_push: update comment to reflect reality
pointed out by: Ron Park (ronp cnet.com)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@111385 13f79535-47bb-0310-9956-ffa450edef68
2004-12-09 14:11:29 +00:00
Justin Erenkrantz
779e530a5c * server/mpm/experimental/event/event.c: Go through and reformat and correct
comments to be more appropriate.

*no functional changes*


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@109773 13f79535-47bb-0310-9956-ffa450edef68
2004-12-04 05:25:57 +00:00