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

110 Commits

Author SHA1 Message Date
Roy T. Fielding
d747e338c8 More MPM changes. Remove ap_can_exec and add a couple prototypes.
Submitted by:	Dean Gaudet


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83782 13f79535-47bb-0310-9956-ffa450edef68
1999-08-26 16:43:56 +00:00
Roy T. Fielding
08ef8a49fe Optimize ap_make_dirstr_prefix().
Submitted by:	Manoj Kasichainula


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83781 13f79535-47bb-0310-9956-ffa450edef68
1999-08-26 16:37:41 +00:00
Roy T. Fielding
3e46488a44 Replace file descriptors with APRFile.
Submitted by:	Bill Stoddard


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83780 13f79535-47bb-0310-9956-ffa450edef68
1999-08-26 16:34:15 +00:00
Roy T. Fielding
44679abe2b Odd comments and leftover bits from the pthreads version.
The comments really should be deleted, or at least cleaned up.

Submitted by:	pthreads leftovers


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83779 13f79535-47bb-0310-9956-ffa450edef68
1999-08-26 16:30:39 +00:00
Roy T. Fielding
17f845566f Faster versions of ap_gm_timestr_822() and ap_unescape_url().
Submitted by:	Manoj Kasichainula


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83774 13f79535-47bb-0310-9956-ffa450edef68
1999-08-26 15:47:49 +00:00
Roy T. Fielding
2bdb308996 FIXME: These changes are just errors from bad merges in the past.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83773 13f79535-47bb-0310-9956-ffa450edef68
1999-08-26 15:17:10 +00:00
Roy T. Fielding
c5a36ee6c2 This evil little change modifies the interface to ap_parseHTTPdate()
for no good reason.  It'll be backed out real soon.

Submitted by:	pthreads leftovers


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83772 13f79535-47bb-0310-9956-ffa450edef68
1999-08-26 14:53:24 +00:00
Roy T. Fielding
1fa9e10844 Sorry, but using C comments in place of C++ comments
makes life for me and my compiler much easier.

This one should be back-ported to Apache 1.3.10-dev

Submitted by:	Martin Kraemer


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83771 13f79535-47bb-0310-9956-ffa450edef68
1999-08-26 14:37:39 +00:00
Roy T. Fielding
e3978962f9 Start to implement module-defined hooks that are a) fast and b) typesafe.
Replace pre_connection module call with a register_hook call and
implement pre_connection as a hook. The intent is that these hooks will
be extended to allow Apache to be multi-protocol, and also to allow the
calling order to be specified on a per-hook/per-module basis.  [Ben Laurie]

Port a bunch of modules to the new module structure.
["Michael H. Voase" <mvoase@midcoast.com.au>]

Submitted by:	Ben Laurie


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83770 13f79535-47bb-0310-9956-ffa450edef68
1999-08-26 14:18:40 +00:00
Roy T. Fielding
19bca355c1 Replace all alarms and timeouts with a mutex on alloc.
Replace file descriptors with APRFile.
Add ap_is_aborted macro.

Submitted by:	Bill Stoddard, Dean Gaudet


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83766 13f79535-47bb-0310-9956-ffa450edef68
1999-08-26 12:54:16 +00:00
Roy T. Fielding
4ada3bf91b Parts where server was eliminated from connection rec.
Submitted by:	Dean Gaudet


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83765 13f79535-47bb-0310-9956-ffa450edef68
1999-08-26 12:13:02 +00:00
Roy T. Fielding
3686d94fed Removed RLIMIT stuff, supposedly to be implemented later in mod_cgi.
Disabled suexec, supposedly to be reimplemented later.

Submitted by:	Bill Stoddard, Dean Gaudet


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83764 13f79535-47bb-0310-9956-ffa450edef68
1999-08-26 12:02:31 +00:00
Roy T. Fielding
bab4dcb050 Rearchitect the mess in http_main.c, http_core.c and buff.c.
Basic restructuring to introduce the MPM concept; includes various
changes to the module API... better described by docs/initial_blurb.txt.

Created multiple process model (MPM) concept by ripping out the process
guts from http_main.c and http_core.c and moving them to separate files
under src/modules/mpm/

Moved socket creation stuff to listen.c.
Moved connection open, maintenance and close to http_connection.c.

I/O layering and BUFF revamp.  Much of buff.c moved to ap_iol,
iol_socket, and iol_file.  See docs/buff.txt.

Moved user and auth fields from connection_rec to request_rec.
Removed RLIMIT stuff, supposedly to be implemented later in mod_cgi.
Disabled suexec, supposedly to be reimplemented later.

Submitted by:	Dean Gaudet


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83763 13f79535-47bb-0310-9956-ffa450edef68
1999-08-26 10:45:57 +00:00
Roy T. Fielding
6f96ad5227 Apache 1.3.9 baseline for the Apache 2.0 repository.
Obtained from: Apache 1.3.9 (minus unused files), tag APACHE_1_3_9
Submitted by: Apache Group


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83750 13f79535-47bb-0310-9956-ffa450edef68
1999-08-24 06:46:03 +00:00
Roy T. Fielding
77c2776832 Apache 1.3.9 baseline for the Apache 2.0 repository.
Obtained from: Apache 1.3.9 (minus unused files), tag APACHE_1_3_9
Submitted by: Apache Group


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83748 13f79535-47bb-0310-9956-ffa450edef68
1999-08-24 05:34:15 +00:00
Bill Stoddard
77acd90f25 Forgot listen.c in the earlier AcceptEx patch to winnt.c.
Enable winnt mpm to detech OS at runtime.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83743 13f79535-47bb-0310-9956-ffa450edef68
1999-08-21 04:43:15 +00:00
Bill Stoddard
f00de85778 Use AcceptEx (a.k.a. accept and receive) on windows NT. Begin work to make
the WIN9x code co-exist with the NT specific code. Since I started this work,
I've managed to improve the static page serving performance of Apache on NT by
almost 50%. Still a long way from Apache on Linux though.

TODO:
- Reuse the AcceptEx accept socket (performance)
- Clean up the organization of the winnt mpm
- Implement Async AcceptEx and Receive. Will this break modules?
- File handle cache (file i/o accounts for more than 50% of the time per request)
- TransmitFile (I have prototype code implemented). Should we add a send_file API
to the I/O control layer? Maybe Apache should always try to send_file. Platforms
that don't support send_file could in turn, invoke the appropriate buff code
which would then invoke socket iol write/writev.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83739 13f79535-47bb-0310-9956-ffa450edef68
1999-08-20 20:20:33 +00:00
Manoj Kasichainula
d069a6ea00 Move the code to force Expat linking into common code.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83713 13f79535-47bb-0310-9956-ffa450edef68
1999-08-17 22:05:17 +00:00
Bill Stoddard
e58d38b8ca More cleanup...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83708 13f79535-47bb-0310-9956-ffa450edef68
1999-08-17 19:51:43 +00:00
Bill Stoddard
7c427a464c Server will build and serve static pages (page size < bufsize) with the appropriate makefile hacks (remove mod_cgi, mod_include, etc.).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83703 13f79535-47bb-0310-9956-ffa450edef68
1999-08-16 22:36:25 +00:00
Ralf S. Engelschall
335b6ab2fc Unbreak dexter and pthread MPM after Ben's latest hook changes.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83686 13f79535-47bb-0310-9956-ffa450edef68
1999-08-15 11:02:44 +00:00
Ben Laurie
78847f9190 Child initializer hook.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83680 13f79535-47bb-0310-9956-ffa450edef68
1999-08-15 00:11:18 +00:00
Ben Laurie
9aecb9f843 Auth checker hook
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83679 13f79535-47bb-0310-9956-ffa450edef68
1999-08-15 00:01:25 +00:00
Ben Laurie
80160d27a0 Access checker hook.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83678 13f79535-47bb-0310-9956-ffa450edef68
1999-08-14 23:46:44 +00:00
Manoj Kasichainula
ad778f1a88 Fix a couple of error messages.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83670 13f79535-47bb-0310-9956-ffa450edef68
1999-08-13 22:30:57 +00:00
Manoj Kasichainula
89338891e0 Move the ap_sys_siglist code from the Unix MPMs to unixd.[ch]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83669 13f79535-47bb-0310-9956-ffa450edef68
1999-08-13 21:54:06 +00:00
Manoj Kasichainula
ca9beb98d2 Get rid of the single-child worker thread implementation for now. It's a
pain keeping track of them both, and it can be added back easily..


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83668 13f79535-47bb-0310-9956-ffa450edef68
1999-08-13 19:47:01 +00:00
Bill Stoddard
79c072bc1a Update listener code. Workaround stupid WIN32 bug(?) in WSASocket (fails with 10091 if the process
environment block is not fully inherited from the parent). Start working on I/O layering support.
It's time to make this thing serve a page. Waiting to check-in iol_file and iol_socket...


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83667 13f79535-47bb-0310-9956-ffa450edef68
1999-08-13 19:45:26 +00:00
Manoj Kasichainula
2ab2189444 Add a connection ID to conn_rec. It uniquely identifies a connection at
any instant in time. It's not very well tested yet.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83662 13f79535-47bb-0310-9956-ffa450edef68
1999-08-13 06:58:08 +00:00
Manoj Kasichainula
959068f949 Flesh out the descriptions of dexter and mpmt_pthread a bit.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83656 13f79535-47bb-0310-9956-ffa450edef68
1999-08-12 18:47:11 +00:00
Ralf S. Engelschall
b55c2e4ed2 Try to find overview in the MPM mess.
Is this correctly described or did I misunderstood anything?
Feel free to fix me...


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83648 13f79535-47bb-0310-9956-ffa450edef68
1999-08-12 08:20:07 +00:00
Manoj Kasichainula
9a2ba4fee8 A little experiment. Add a special worker thread function for the case
when only one child process is running. It eliminates cross-process
serialization and can reuse the data from a poll call.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83647 13f79535-47bb-0310-9956-ffa450edef68
1999-08-12 02:02:27 +00:00
Manoj Kasichainula
33a1a51429 Move a little code around to shorten the worker_thread function a bit.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83646 13f79535-47bb-0310-9956-ffa450edef68
1999-08-11 23:55:42 +00:00
Bill Stoddard
e7165f68ec Still a complete hacked up mess, but getting better!
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83645 13f79535-47bb-0310-9956-ffa450edef68
1999-08-11 16:03:55 +00:00
Manoj Kasichainula
a21012b7aa Put back the process_child_status code from 1.3. Handling of synchronous
signals like SEGV and FPE is still a bit dodgy, though, so this won't
accomplish much by itself.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83644 13f79535-47bb-0310-9956-ffa450edef68
1999-08-10 21:18:43 +00:00
dgaudet
a0ad84fbe8 merge the differences in apache-1.3 from tag apache-apr-merge-3 up
to mpm-merge-1 onto the mpm tree

prior to the merge, the mpm tree was tagged with apache-1_3-merge-1-pre
and after the merge, the mpm tree will be tagged with apache-1_3-merge-1-post

note: none of htdocs/manual is present in mpm at this point.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83587 13f79535-47bb-0310-9956-ffa450edef68
1999-08-06 00:55:28 +00:00
Bill Stoddard
b82c05a4be A few more hacks before taking off for the weekend.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83586 13f79535-47bb-0310-9956-ffa450edef68
1999-08-05 22:05:47 +00:00
Bill Stoddard
f209c998a5 Win32: Start work on the winnt mpm. This is all horribly broken and hacked right now
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83584 13f79535-47bb-0310-9956-ffa450edef68
1999-08-05 21:08:25 +00:00
Manoj Kasichainula
2bc99dc33d Take child_num and thread_num out of conn_rec. They aren't used anywhere
anymore, and conn_rec is the wrong place for them.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83581 13f79535-47bb-0310-9956-ffa450edef68
1999-08-05 19:56:24 +00:00
Manoj Kasichainula
65e96b4126 Undo the stupid pipe of death changes I made earlier today. dean noted
that we need an char_of_death array to do this safely, and it's just not
worth the effort. The EINTR stuff is left behind, though. Hopefully this
is now decent again.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83566 13f79535-47bb-0310-9956-ffa450edef68
1999-08-04 00:21:35 +00:00
Manoj Kasichainula
41b15ba517 Eliminate a spurious runtime warning.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83565 13f79535-47bb-0310-9956-ffa450edef68
1999-08-03 23:43:02 +00:00
Brian Havard
d30c57ec3a Update OS/2 mpm with new hooks.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83564 13f79535-47bb-0310-9956-ffa450edef68
1999-08-03 23:39:11 +00:00
Manoj Kasichainula
b59f5ccb64 Fix a couple of potential graceful restart bugs noted by Dean: EINTR was
never dealt with in the code to write to the pipe of death, and in
pathological cases where the number of processes is greater than
PIPE_BUF, we could end up only killing some processes.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83563 13f79535-47bb-0310-9956-ffa450edef68
1999-08-03 23:36:43 +00:00
Manoj Kasichainula
07c55ef047 No reason to have a loop writing one byte at a time to the pipe of death
when the write call will do it for us. Also fix the comments a bit.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83562 13f79535-47bb-0310-9956-ffa450edef68
1999-08-03 20:41:37 +00:00
Manoj Kasichainula
1ff7ed7b56 get rid of the vestigial ap_open_logs call (and the ap_clear_pool that
went along with it), to fix logging problems. Sometimes the bug would
show up as a segfault, and sometimes as logging to an incorrect file.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83561 13f79535-47bb-0310-9956-ffa450edef68
1999-08-03 20:03:09 +00:00
Manoj Kasichainula
779cf1c05e Update with new hooks.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83559 13f79535-47bb-0310-9956-ffa450edef68
1999-08-03 18:17:51 +00:00
Ben Laurie
d61fe22a65 Another hook.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83548 13f79535-47bb-0310-9956-ffa450edef68
1999-08-01 14:43:28 +00:00
Ben Laurie
2746674d11 Another hook.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83547 13f79535-47bb-0310-9956-ffa450edef68
1999-08-01 14:12:33 +00:00
Ben Laurie
76c762ea56 Break out the hook implementations into three kinds, thus avoiding null macro
arguments. Gates made me do it!


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83546 13f79535-47bb-0310-9956-ffa450edef68
1999-07-31 09:31:21 +00:00
Manoj Kasichainula
42fbf6064f Support non-threaded operation, for the most part. The code still
references pthread calls, but they are essentially no-ops in the
non-threaded case; these can be #defined or wrapped away.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83530 13f79535-47bb-0310-9956-ffa450edef68
1999-07-29 20:43:28 +00:00