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

34 Commits

Author SHA1 Message Date
Jim Jagielski
5061d9fa92 No functional Change: Removing trailing whitespace. This also
means that "blank" lines consisting of just spaces or
tabs are now really blank lines


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@332306 13f79535-47bb-0310-9956-ffa450edef68
2005-11-10 15:11:44 +00:00
Jim Jagielski
5d2fae4818 No functional change: simple detabbing of indented code.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@332305 13f79535-47bb-0310-9956-ffa450edef68
2005-11-10 15:05:51 +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
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
Jeff Trawick
c940ea5b58 use existing directive name ThreadStackSize instead of
WorkerStackSize

as made obvious by: Brad Nicholes


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102975 13f79535-47bb-0310-9956-ffa450edef68
2004-03-15 23:08:41 +00:00
Jeff Trawick
cb5c3dd6fd Threaded MPMs for Unix and Win32: Add WorkerStackSize directive
to override default thread stack size for threads which handle
client connections.  Required for some third-party modules on
platforms with small default thread stack size.

This is also useful for trimming back the stack size on
platforms with relatively large default stack size in order to
conserve address space for supporting more threads per child.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102931 13f79535-47bb-0310-9956-ffa450edef68
2004-03-11 03:57:50 +00:00
André Malo
eeb57c17ad fix name of The Apache Software Foundation
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102619 13f79535-47bb-0310-9956-ffa450edef68
2004-02-09 20:40:53 +00:00
André Malo
1e8cb2d1a1 fix copyright dates according to the first check in
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102582 13f79535-47bb-0310-9956-ffa450edef68
2004-02-08 13:39:09 +00:00
André Malo
4f02cb1e18 apply Apache License, Version 2.0
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102525 13f79535-47bb-0310-9956-ffa450edef68
2004-02-06 22:58:42 +00:00
Jeff Trawick
01da1159b3 Unix MPMs: Stop dropping connections when the file descriptor
is at least FD_SETSIZE.

That isn't a problem for most users (since poll() is widespread).
On old boxes where select() must be used by APR, APR needs to fail
operations that don't work with such fds.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102419 13f79535-47bb-0310-9956-ffa450edef68
2004-01-27 15:19:58 +00:00
André Malo
fb07607180 update license to 2004.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102135 13f79535-47bb-0310-9956-ffa450edef68
2004-01-01 13:26:26 +00:00
Jeff Trawick
d0f5240ca9 update leader, threadpool, and worker MPMs to return MPM state
from ap_mpm_query()


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102045 13f79535-47bb-0310-9956-ffa450edef68
2003-12-13 19:00:56 +00:00
Jeff Trawick
50351f79aa update threadpool MPM to build and appear to work with the current APR
pollset API


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102044 13f79535-47bb-0310-9956-ffa450edef68
2003-12-13 18:25:57 +00:00
Brian Pane
79a3c0c99b remove calls to the apr_proc_other_child_read function that no longer exists
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@101858 13f79535-47bb-0310-9956-ffa450edef68
2003-11-24 01:34:04 +00:00
Jeff Trawick
0024a03faa Lower the severity of the "listener thread didn't exit" message
to debug, as it is of interest only to developers.

PR:                9011


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@101165 13f79535-47bb-0310-9956-ffa450edef68
2003-09-05 19:36:26 +00:00
Jeff Trawick
3090c1b2c5 Fix a misleading message from the some of the threaded MPMs when
MaxClients has to be lowered due to the setting of ServerLimit.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@101160 13f79535-47bb-0310-9956-ffa450edef68
2003-09-05 16:50:22 +00:00
Cliff Woolley
a770ae9e77 Updated the various MPM's to use the new bucket_alloc_create_ex API
when necessary.  Which is to say that it's necessary in all cases except
for prefork, where the change to apr-util to have it use the allocator
from the pool passed in is already sufficient.

Reviewed by:	Jean-Jacques Clar, Sander Striker, Brad Nicholes


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@101122 13f79535-47bb-0310-9956-ffa450edef68
2003-08-28 05:54:44 +00:00
Bradley Nicholes
dc4cfa1640 Make sure that the global ap_max_mem_free is initialized along with the
other MPM globals whenever HTTPD is started or restarted.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@101117 13f79535-47bb-0310-9956-ffa450edef68
2003-08-27 22:33:12 +00:00
Jeff Trawick
457570612a consolidate code related to sig_coredump
a note on perchild:
  perchild exception handling was busted before this and is still busted
  the problem I noticed was that a client that exposes a segfault never
  gets its connection dropped and the parent never notices that the
  child process that segfaulted hasexited


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@99312 13f79535-47bb-0310-9956-ffa450edef68
2003-04-09 16:58:30 +00:00
André Malo
742af25096 finished that boring job:
update license to 2003.

Happy New Year! ;-))


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98573 13f79535-47bb-0310-9956-ffa450edef68
2003-02-03 17:53:28 +00:00
William A. Rowe Jr
ed8fc9abae http occurances to update for apr_socket_opt_get/set
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96057 13f79535-47bb-0310-9956-ffa450edef68
2002-07-15 08:05:11 +00:00
Ryan Bloom
2c94ecadce Bring Apache in line with APR's new poll implementation. This isn't
optimal, because it still uses the compatibility functions to make it
work, but it does work.  The next step will be to take the memory for
the pollsets under Apache's control.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@96005 13f79535-47bb-0310-9956-ffa450edef68
2002-07-11 05:42:20 +00:00
Sander Striker
62faca71e7 Add a new directive: MaxMemFree. MaxMemFree makes it possible
to configure the maximum amount of memory the allocators will
hold on to for reuse.  Anything over the MaxMemFree threshold
will be free()d.  This directive is usefull when uncommon large
peaks occur in memory usage.  It should _not_ be used to mask
defective modules' memory use.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95954 13f79535-47bb-0310-9956-ffa450edef68
2002-07-04 15:20:54 +00:00
Jim Jagielski
cb3975a65b Now that we have the functionality in apr, we can now have 2.0's
startup message regarding AcceptMutex (what we are using and what
the default is) "fully" match what is present in 1.3.
PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95568 13f79535-47bb-0310-9956-ffa450edef68
2002-06-07 14:08:05 +00:00
Brian Pane
74ea5323db Support -k argument in threadpool
Submitted by:	Thom May <thom@planetarytramp.net>
Reviewed by:	Brian Pane


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95554 13f79535-47bb-0310-9956-ffa450edef68
2002-06-06 23:58:14 +00:00
Sander Striker
b1d454e981 Catch up with the apr_allocator_set_owner -> apr_allocator_owner_set renames
in APR.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95373 13f79535-47bb-0310-9956-ffa450edef68
2002-05-30 00:21:27 +00:00
Jeff Trawick
c871b41d3c stop using APLOG_NOERRNO in calls to ap_log_?error()
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95149 13f79535-47bb-0310-9956-ffa450edef68
2002-05-17 11:11:39 +00:00
Aaron Bannert
cb83b744d3 Rename the worker_stack_interrupt_all() function as worker_stack_terminate().
Also, broadcast a signal after we set the terminate flag on the worker stack.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94846 13f79535-47bb-0310-9956-ffa450edef68
2002-04-28 23:28:52 +00:00
Aaron Bannert
c332ff37bc Remove unused variable.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94844 13f79535-47bb-0310-9956-ffa450edef68
2002-04-28 23:10:26 +00:00
Aaron Bannert
5e647365f8 Some more threadpool MPM changes:
- Add a "state" variable to the worker_wakeup_info struct. This is
  used to make sure that we act on the correct signal, and to know when
  to shut down a worker thread.
- Fix the call when the worker thread waits for a connection to use
  the new state variable and use mutexes around the cond_wait() call.
- Change the interrupt_all() call to set the WORKER_TERMINATED state.
- Add two AP_DEBUG_ASSERT() to make sure that we aren't waking up
  a worker thread before it is idle.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94843 13f79535-47bb-0310-9956-ffa450edef68
2002-04-28 23:05:15 +00:00
Aaron Bannert
464b62610a Clarify an incorrect statement about why we're purposfully putting
the signal inside of a mutex.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94842 13f79535-47bb-0310-9956-ffa450edef68
2002-04-28 22:32:17 +00:00
Aaron Bannert
31a81c8637 Some threadpool fixes:
- We don't need the listener_blocked flag, just check if the element
  we're adding makes the stack non-empty.
- When we are terminated, return APR_EOF; catch this event in the
  worker thread and the listener thread.
- When shutting down, always signal a potential listener thread.
- Wait to signal the listener thread until after we add the worker
  element to the stack.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94841 13f79535-47bb-0310-9956-ffa450edef68
2002-04-28 22:25:16 +00:00
Aaron Bannert
f0b69299d6 When we signal a condition variable, we need to own the lock that
is associated with that condition variable. This isn't necessary
for Solaris, but for Posix it is.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94839 13f79535-47bb-0310-9956-ffa450edef68
2002-04-28 21:35:12 +00:00
Brian Pane
77146c56ac Another experimental MPM derived from worker:
The threadpool MPM implements Aaron Bannert's "time-space tradeoff"
design managing idle workers.  Rather than putting accepted connections
into a queue, the threadpool MPM keeps idle worker threads in a stack.
Its dedicated listener thread retrieves an idle worker from the stack
before accepting a connection.  If there are no idle workers, the
listener blocks until a worker becomes available before doing an accept.

In many ways, threadpool is also a variant of leader/follower.  They
both maintain a stack of idle threads.  The difference is that threadpool
has a dedicated listener thread, and leader/follower rotates the listening
responsibility among its worker threads.  In my initial testing, the
leader/follower MPM performs very well on multiprocessor Solaris 8 when
listening on a single port, but poorly when listening on multiple ports.
(I don't know why this is happening.  What I've found so far is that
when you add a poll on the listen socket(s) before the accept in the
leader/follower MPM, all the socket-related syscalls in the httpd get
slower.  My hypothesis is that the thread scheduler is making an optimal
decision about where (on what CPU) to run the newly awakened thread if
its first syscall is an accept, and a nonoptimal decision if its first
syscall is a poll.)  The threadpool MPM performs better with multiple
listener ports, and in my testing so far it looks competitive with
leader/follower when running with a single listener.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94672 13f79535-47bb-0310-9956-ffa450edef68
2002-04-16 23:37:06 +00:00