b01b079cd910e1172303b13d5d04863bed32e98b 1662437 |
|
26-Feb-2015 |
ylavic |
mpm_{worker,prefork}: save some cycles by not copying the listener's pollfds
for each pollset operation.
We don't need a copy when poll()ing if those are allocated with the correct
lifetime (the listener thread) at the very beginning. |
4eef6beb03696daf61707faba813fe6b86152d6b 1643179 |
|
05-Dec-2014 |
ylavic |
mpm_{prefork,worker}: follow up to r1635521.
Don't crash when there is no accept mutex (one listener => apr_proc_mutex_name(NULL)). |
5022bc317781314105104f6881f823e5d6d64e66 1640763 |
|
20-Nov-2014 |
ylavic |
mpm_event(opt), mpm_worker, mpm_prefork: follow up to r1635521, r1640161.
Retain num_buckets and max_buckets accross restarts so that we can determine
whether new buckets were allocated and set their idle_spawn_rate at the same
level as the existing ones (max).
Also, adjust ap_daemons_limit and ap_daemons_to_start lower bounds at mpm_run()
time, once num_buckets is available for the current generation (previously done
at check_config time, hence before num_buckets is computed, and then with the
previous generation's value). |
7367221ca9b3c8c38e20033cbc6e54941824405c 1640184 |
|
17-Nov-2014 |
ylavic |
mpm_prefork: follow up to r1635521.
Avoid oddity on bucket_make_child_record overflow. |
b4e571e0114742b6e02aacf6142af7fa31a6038e 1640145 |
|
17-Nov-2014 |
ylavic |
mpm_worker, mpm_prefork: follow up to r1635521.
Use one dedicated accept mutex per listeners bucket. |
a742cbb3e85669473b3233f30e3978bb6a20083c 1635521 |
|
30-Oct-2014 |
ylavic |
MPMs, core: make duplicated listeners (SO_REUSEPORT) introduced in r1599531
less intrusive.
Submitted by: Yingqi Lu <yingqi.lu@intel.com>
Modified/Committed by: ylavic
Add ListenCoresBucketsRatio which is a configurable ratio between the number of
CPU cores (online) and the number of listeners buckets to create, defaulting to
zero (so that listeners buckets become an opt-in, ie. ncpus / ratio > 1).
This could also be made an opt-out by using the previous hardcoded value (8) as
default.
Make ap_close_listeners() act on all the listeners (including duplicated ones),
since the function is also called externally (eg. mod_cgid, mod_ssl_ct and
possibly any third party module) to cleanup opened descriptors when a process
is forked (the duplicated listeners are kept in a scoped/static variable).
Add ap_close_listeners_ex() to close a single bucket of listeners, used by the
children to close unused duplicates and internally by ap_close_listeners().
Make ap_duplicate_listeners() compute the number of buckets to be used, instead
of each MPM. This number is now based on the above ratio and will not change
unless asked to (given *num_buckets < 1, that is when the MPM does not run in
one-process mode nor after a graceful restart).
Remove some global variables (mpm_listen, enable_default_listeners) previously
used to communicate between MPMs and ap_listen, since ap_duplicate_listeners()
API can now be used to do so.
Also rename num_buckets as ap_num_listen_buckets, and prefix have_so_reuseport
with ap_ (both printed by ap_log_common(), hence kept global).
Detect ap_have_so_reuseport once only at startup.
Restore dummy_connection() as before r1599531 since sending POD signals should
not depend on the number of listeners buckets (there is still one single socket
receiving the connections).
For each MPM (concerned), move the bucket data (pod, listeners and eventually
accept mutex) into a struct and instanciate an array of them (sized by the
number of buckets), for each child to use its own data according to its bucket
index, and the parent to maintain the whole. |
6f2b40c28d377deb94c65a9787d8a1bf0de43078 1629925 |
|
07-Oct-2014 |
ylavic |
core: ensure that MPMs return an error on runtime failure and hence that
httpd's main process also exits with an error. |
a94a0f8604bc182459825c18b5574236ea2673c7 1629918 |
|
07-Oct-2014 |
ylavic |
mpms: enforce assertion that unreachable code is not reached. |
84157e5b932c6665719c8d932371dbf05c953ecd 1629916 |
|
07-Oct-2014 |
ylavic |
core: follow up to r1629909: ap_daemons_to_start can't be lower than 1 (not 0) for prefork either. |
60f145444e00399b806c6e1329689ae57603a664 1629909 |
|
07-Oct-2014 |
ylavic |
core: Use process scoreboard to store each child's listener bucket,
and silently adjust the configured number of processes/threads to
be above the computed number of listener buckets (depending on the
CPU cores). |
09472a1cfa2ddfcda269c24550463a1c7c7a2f0a 1618555 |
|
18-Aug-2014 |
jkaluza |
prefork: Ignore SIGINT in child. This fixes race-condition in signals handling
when httpd is runnning on foreground and user hits ctrl+c. In this case, SIGINT
is sent to all children followed by SIGTERM from the main process, which
interrupts the SIGINT handler and leads to inconsistency (process freezes
or crashes). |
1010cd1db7b7872a726dfc0041d1c1b5ed42ed7f 1602827 |
|
16-Jun-2014 |
ylavic |
Fixed unused "ap_listen_rec *lr;" in prefork_run(). |
37d595a87da5e80d34461b837be7d7cb95e6aa82 1602826 |
|
16-Jun-2014 |
ylavic |
Mark all unused/duplicated/closed child listeners as inactive.
Fix unused "ap_listen_rec *lr;" in worker_run(). |
8d789368da20a66ee5b97075d5959384aff6b5e6 1601170 |
|
08-Jun-2014 |
ylavic |
-MPMs prefork & worker: avoid segfault with SAFE_ACCEPT in ONE_PROCESS mode. |
a5af0c977b5a7ad47a8b4b0ac149080bec79b32d 1600656 |
|
05-Jun-2014 |
jim |
fix restart issues |
3a2bc69dbf5d2afe57bcc21c554aa1e3851fb159 1599641 |
|
03-Jun-2014 |
jim |
Break out common code to be share-able |
776e24ab929f0ce906e43a0d2cf4b1f7a2d6b56b 1599603 |
|
03-Jun-2014 |
jim |
Now allow MPMs to call ap_log_common() |
3c990331fc6702119e4f5b8ba9eae3021aea5265 1599531 |
|
03-Jun-2014 |
jim |
Optimize w/ duplicated listeners and use of SO_REUSEPORT
where available. |
19ceccc4edb0ee0038a6651379ec8f2c90762fda 1392850 |
|
02-Oct-2012 |
trawick |
follow up to r1387633: use the right exit code depending on the error scenario |
286a62cae6603aaf33ae21df0724b23fedfbed26 1387633 |
|
19-Sep-2012 |
jorton |
* server/mpm/prefork/prefork.c (child_main): Don't log errors for an
apr_pollset_add() failure if a graceful-stop has been signalled. |
070ebd944a7a067b05310fb47261c416cda9c95c 1363183 |
|
19-Jul-2012 |
trawick |
fix child exit status in prefork after certain errors in
the child so that the parent resets the spawn rate to the
minimum
or:
mpm_prefork: Reduce spawn rate after a child process exits due to
unexpected poll or accept failure. |
8ba562720ad913bc899d15deba8b83dfe1065c0e 1299718 |
|
12-Mar-2012 |
jim |
Move away from DEFAULT_REL_RUNTIMEDIR and use ap_runtime_dir_relative()
API |
185aa71728867671e105178b4c66fbc22b65ae26 1209766 |
|
03-Dec-2011 |
sf |
Add lots of unique tags to error log messages |
e9356fde2e4fff8dab7eb6006ed1c476973796c5 1180742 |
|
10-Oct-2011 |
sf |
If a child is created just before graceful restart and then exits because
of a missing lock file, don't shutdown the whole server.
PR: 39311
Submitted by: Shawn Michael <smichael rightnow com> |
5bfaaf573bacb45c1cf290ce85ecc676587e8a64 1174751 |
|
23-Sep-2011 |
jim |
Cleanup effort in prep for GA push:
Trim trailing whitespace... no func change |
099d298d417b68b3d11fb5934c404c60f518d69c 1151234 |
|
26-Jul-2011 |
sf |
Install signal handlers for crashes before detaching. Previously, there
was a time span where crashes would be neither visible on the console nor
logged in the error log. |
0d54de55e9fec3d9ac5989a5fe016f349b82ed05 1151233 |
|
26-Jul-2011 |
sf |
Reduce period during startup and restart where a successive signal may be lost
PR: 43696
Submitted by: Arun Bhalla <arun shme net> |
a041174c92fec6d5e37496ae7f5fe0d2ea946147 1137813 |
|
21-Jun-2011 |
sf |
Log the deprecation warning at level info, not warn |
5cd5205744c3596d29d29271073381e6b5ec0723 1137757 |
|
20-Jun-2011 |
sf |
Fix search'n'replace error: Actually warn if MaxClients is used |
3fa816e4832a1c70600bdfd6fc5ef60e9f1c18bb 1137744 |
|
20-Jun-2011 |
sf |
Rename MaxClients to MaxRequestWorkers which describes more accurately what
it does. |
7184de27ec1d62a83c41cdeac0953ca9fd661e8c 1132781 |
|
06-Jun-2011 |
sf |
Introduce ap_(get|set)_core_module_config() functions/macros and use them
everywhere.
We know that the core module has module_index 0. Therefore we can save
some pointer operations in ap_get_module_config(cv, &core_module) and
ap_set_module_config(cv, &core_module, val). As these are called rather often,
this may actually have some (small) measurable effect. |
925a6d92173ab96cdb0a8976c7aac13ef809e218 1096609 |
|
25-Apr-2011 |
trawick |
Add child_status hook for tracking creation/termination of MPM child
processes. Add end_generation hook for notification when the last
MPM child of a generation exits.
end_generation is implemented completely by core using the
child_status hook run by the MPM.
simple and mpmt_os2 MPMs don't currently run the child_status
hook, so neither hook is invoked with those MPMs. |
133a47776e6bc3f11f3beac454e643240b675ff7 1087085 |
|
30-Mar-2011 |
trawick |
Simplify the interface to ap_reclaim_child_processes() and
ap_relieve_child_processes(): instead of requiring the MPM
to implement an otherwise-useless hook, just use a callback
function.
As I don't expect third-party MPM devs are following our day
to day progress, the API changes are considered part of
yesterday's MMN change. |
8f29f672255fe76964af126f9ac8c3c864274fa0 1086293 |
|
28-Mar-2011 |
trawick |
mpm_common.c implements a handful of config directives; the
related state has to be re-initialized to the default values
at pre-config time, but that was handled inconsistently by
the MPMs, resulting in unexpected behavior when some of the
directives were removed across restart
move that necessary initialization from the MPMs to common
code run from core's pre-config; MPMs that need to override
defaults can do so by running after core's pre-config (the
NetWare MPM now does that)
the DEFAULT_MAX_REQUESTS_PER_CHILD compile setting wasn't useful
enough to keep
the simple MPM wasn't consistent in which of these directives
were respected and which weren't, and that hasn't changed
(see procmgr.max_requests_per_child vs. ap_max_requests_per_child) |
20e0c71be778348516719e1e58a9f55c8e78c570 1086224 |
|
28-Mar-2011 |
trawick |
consolidate logic to remove the pidfile in a new API,
ap_remove_pid(), related to existing ap_log_pid() and
ap_read_pid()
presumably this is useful to third-party MPMs as well |
814ea5b3442a2b48539f390ef51fe7bf0fc5c351 1084000 |
|
21-Mar-2011 |
jorton |
* server/mpm/prefork/prefork.c (set_signals): Ignore SIGXFSZ; have a
write() beyond 2GB fail with E2BIG rather than killing the process
in the now hopefully rare case of non-LFS file usage on LFS systems.
* server/mpm/worker/worker.c (set_signals): Likewise.
* server/mpm/event/event.c (set_signals): Likewise. |
efc81fe729a2b7401028387da184b4a98f0b854a 1078286 |
|
05-Mar-2011 |
trawick |
worker, event, prefork: Correct several issues when built as
DSOs; most notably, the scoreboard was reinitialized during graceful
restart, such that processes of the previous generation were not
observable.
Other noticeable ones:
* the generation number did not increment properly
* worker's check-config hook didn't detect startup properly,
so messages about inconsistent directives could have been sent
to the wrong place
max_daemons_limit wasn't tracked across restart, but as the scoreboard
was always cleared this was a non-issue.
Reinitialization of idle_spawn_rate, hold_off_on_exponential_spawning,
and maxclients-message-reported may or may not have been features,
but the big picture is that the behaviour shouldn't have differed.
These changes should have been part of r758185. |
403a74516d626da5c7e1b8f364eb730c7142f4cc 1078285 |
|
05-Mar-2011 |
trawick |
zap needless reinitialization of is_graceful on the 2nd
call of the open-logs hook |
740a330a0d543c80086bb3ba9add6e93af69714d 1078170 |
|
04-Mar-2011 |
trawick |
sanity check use of volatile in prefork, worker, and event |
0c4234a8e7cac3dc1abdabf70fc5a93a5ef461a6 1076454 |
|
03-Mar-2011 |
trawick |
prefork in ONE_PROCESS mode:
child_main() called clean_child_exit() in almost all paths,
and returned to the caller in one infrequent path; just
call clean_child_exit() always |
d26c0c37c805fa190b38db502f7b0f78233c1c14 1076382 |
|
02-Mar-2011 |
trawick |
prefork: store pid in scoreboard for ONE_PROCESS mode |
237b1c198de800d82b737a77ca5e48fe1ff7bc94 1074871 |
|
26-Feb-2011 |
trawick |
fix some logging calls to include the server_rec
(and even the conn_rec in a couple of places) |
e63e8b4b886d2144fed7946d0fbe8d27386be2dc 1068389 |
|
08-Feb-2011 |
jorton |
* server/mpm/prefork/prefork.c (stop_listening, sig_term, restart):
Update mpm_state in the signal handlers such that it is correct in
children during a graceful stop/restart too.
PR: 41743
Submitted by: Andrew Punch <andrew.punch 247realmedia.com> |
9b5fe1d4ec48643fb819bbce9dc80f93f444fb48 1057045 |
|
09-Jan-2011 |
sf |
Fix ap_mpm_query results:
AP_MPMQ_MAX_THREADS: Single threaded means one thread per child, not zero
AP_MPMQ_MAX_DAEMONS: Max # daemons by config is determined by MaxClients, not
ServerLimit |
aa8df43397bb42245e1633f12e2300c9715f3a7b 1021616 |
|
12-Oct-2010 |
trawick |
fix description of the change for PR43857; it is a work-around
for a reslist problem that isn't fixed in apr-util 1.3.x
Suggested by: jorton |
c3e233736c4a453cbb2166a041f779e86230630a 982050 |
|
04-Aug-2010 |
sf |
remove more unused variables
revove some obsolete comments
netware file is untested |
36ef8f77bffe75d1aa327882be1b5bdbe2ff567a 951895 |
|
06-Jun-2010 |
sf |
Use the new APLOG_USE_MODULE/AP_DECLARE_MODULE macros everywhere to take
advantage of per-module loglevels |
5a2f24f5e41d52e59e1c11e90cd423b8967d4184 943650 |
|
12-May-2010 |
trawick |
replace r942897 with the original submitted patch
prefork MPM: Run cleanups for final request when process exits gracefully.
PR: 43857
Submitted by: Tom Donovan |
ee8a658b320d04a469ae4d1f26779f5a7e987346 943648 |
|
12-May-2010 |
trawick |
revert the PR 43857 fix in r942897 based on a potential
memory leak pointed out by jorton
(original patch to be committed shortly) |
5900a12c147d2d249a7fec37cd46f7847f9717f4 942897 |
|
10-May-2010 |
trawick |
prefork MPM: Run cleanups for final request when process exits gracefully.
PR: 43857
Submitted by: Tom Donovan, simplified slightly by me |
024e70e05386a6367eb45d0d1cc406764520ff4c 940981 |
|
04-May-2010 |
wrowe |
Catch up with ap_[proc|global]_mutex_create api change |
57713c26f79ee40e18f060d3725b02cf229233d5 922405 |
|
12-Mar-2010 |
covener |
all signs indicate that status value is always -1 on error |
43f18c24a8f6f42cdacc336d4344c7c64b3929d5 922392 |
|
12-Mar-2010 |
covener |
reduce the warning level in the bindprocessor() call used to make sure child
processes aren't bound to the CPU the parent is running on.
In recent levels of AIX, the parent isn't implicitly bound to a CPU
(so the children don't inherit it), and when the AIX WPAR feature is enabled
this call can return EPERM, even though the child process is already unbound. |
bd27541a0c96caa881f17a490e23cdd220d480c8 910684 |
|
16-Feb-2010 |
poirier |
Log command line on startup, so there's a record of command line
arguments like -f. Suggested by Shaya Potter. [Dan Poirier]
PR: 48752 |
d2f2b24ad196c63257e7214b64e6a3bd947e5638 907723 |
|
08-Feb-2010 |
trawick |
change the preprocessor define ap_accept_mutex_type to upper case |
11f2c481e1d57bedb3f758565307501e9a2730dd 883540 |
|
24-Nov-2009 |
trawick |
Replace AcceptMutex, LockFile, RewriteLock, SSLMutex, SSLStaplingMutex,
and WatchdogMutexPath with a single Mutex directive. Add APIs to
simplify setup and user customization of APR proc and global mutexes.
(See util_mutex.h.) Build-time setting DEFAULT_LOCKFILE is no longer
respected; set DEFAULT_REL_RUNTIMEDIR instead.
Some existing modules, such as mod_ldap and mod_auth_digest gain
configurability for their mutexes. |
40965c37b2fd320093215de6c3fbd516382077ea 818825 |
|
25-Sep-2009 |
jim |
Enhance ap_hook_monitor to pass along a server_rec (in
general the ap_server_conf) and tuck away some storage
in there which may be useful as an opaque data pointer. |
25d0f8adcab13255494a3572edff1a25f6fbeea3 804764 |
|
16-Aug-2009 |
rpluem |
* Do better checking of pollset operations in various places to avoid segfaults.
PR: 46467
Submitted by: Stefan Fritsch <sf sfritsch.de>
Reviewed by: rpluem |
ff32c2e8bb4918d83fdad1182dcc26eeb88d28a5 762127 |
|
05-Apr-2009 |
trawick |
main() can use ap_run_mpm() directly, so axe the old ap_mpm_run() function
change the mpm hooks to return OK/DONE instead of 0/1 |
badbab787974c883f2fff0341b4b249bbf6d57a2 760864 |
|
01-Apr-2009 |
trawick |
mpm-query hook: distinguish between DECLINED and APR_ENOTIMPL so that
. ap_mpm_query() can return APR_EGENERAL if called too early (for debugging a module)
. some hypothetical module which implements the mpm-query hook can bypass the MPM
with APR_ENOTIMPL |
ff0d250751b2f53f755070f99cbda447064ca90a 759924 |
|
30-Mar-2009 |
trawick |
rename the new retained-data APIs to ap_retained_data_create()/ap_retained_data_get(), for better
consistency with existing APIs (e.g., slotmem)
don't bother changing the MMN, which doesn't reflect recent -dev changes anyway |
66b7d26b8c3164ddd1cd1ee1d0bec6cd5780301b 759757 |
|
29-Mar-2009 |
trawick |
the mpm_get_child_pid hook is unnecessary, as was the per-MPM MPM_CHILD_PID() macro which it replaced
axe this new hook, and use ap_get_scoreboard_process() instead |
71debfa33ffaf708f3803495c4caf6b00b78ac86 759699 |
|
29-Mar-2009 |
trawick |
Core can specify a platform-specific rewrite args hook. Use that on Unix.
Windows continues to specify this in the MPM, at least until someone
can separate out the MPM-specific bits. |
a771451a437726073089edb17a7c9ed32f85fb1a 759682 |
|
29-Mar-2009 |
trawick |
axe ancient platform checks |
8f65a478213d64b377659c263ceef21e6e61eabd 759648 |
|
29-Mar-2009 |
mturk |
Register rewrite_args hook.
Now, dunno if that was intended, but at least allow to start the httpd |
fda1a61aacb6950953b7393b845b0639d8e87359 758944 |
|
27-Mar-2009 |
trawick |
axe unmaintained 1.3-era code to support AUX, SunOS, IRIX, Next, Tandem, MPE,
LynxOS, QNX, and UnixWare |
eacb724157bafd5062590305826ebc6fecb48cd2 758936 |
|
27-Mar-2009 |
trawick |
remove TPF support |
5e7eb7547ed0d6fecbe15527bba96acede5360f0 758680 |
|
26-Mar-2009 |
trawick |
prefork, worker, event:
restore expected accept mutex mechanism and allocator limit support
(the related AP_MPM_WANT_foo defines no longer exist) |
aae6ae5e5557b23552f5771aa385c5b6bb203229 758312 |
|
25-Mar-2009 |
trawick |
resurrect the old (pre-r757867) compiled-in MPM_NAME value, but via a hook for dynamically
linked MPMs |
19af44d09017c09443615b57a479ea8d80ba0e4c 758278 |
|
25-Mar-2009 |
trawick |
The rewrite-args hook isn't available to MPM DSOs. Piggy-back on the
linked-in mod_unixd.c to handle that.
(The set of MPMs modified is the same set for which mod_unixd is enabled,
which is approximately equivalent to the set of Unix MPMs which anybody has
tried to maintain in recent memory.) |
9543daa1bf345c36853642d45b2b64bf0a6b6ddd 758185 |
|
25-Mar-2009 |
trawick |
prefork, worker, and event MPMs: use retained-data API to maintain
information across reconfigs, to allow these MPMs to work as DSOs |
4cbf4df0d228b5d0304d68aadcaafbe944f4ff29 758062 |
|
24-Mar-2009 |
trawick |
main() now sets ap_server_conf() |
dd028aa8111afb6534fece555e8c2d408894671e 757853 |
|
24-Mar-2009 |
trawick |
Introduce a new set of APIs to allow MPMs to be proper modules instead
of integral parts which share global variables, functions, and macros
with the rest of httpd.
Converted now:
prefork, worker, event, simple, WinNT*
*WinNT hasn't been built or tested, and relies on a hack to include the
WinNT mpm.h to disable Unixy MPM support routines in mpm_common.c |
fe505dd368e7e6c24df89fc8f40b4f5e334afadc 743894 |
|
12-Feb-2009 |
trawick |
Fix a crash with r742218 by calling apr_os_thread_put() properly.
(The first parameter to apr_os_thread_put() must be initialized, either to
NULL or to an existing apr_thread_t.) |
cdccf2ac94172d1a4a54bc2e17324e1ef682ccf3 742218 |
|
09-Feb-2009 |
pquerna |
Add conn_rec::current_thread. |
06e6657fd0f376a16db696876f9bff5927cc3cb0 732451 |
|
07-Jan-2009 |
trawick |
prefork: Fix child process hang during graceful restart/stop in
configurations with multiple listening sockets.
PR: 42829
Submitted by: Joe Orton, with some tweaking and testing from me |
8d1ea336aec7caf64b1dfcbd0c2cd38a057cb7c4 732421 |
|
07-Jan-2009 |
trawick |
Release the accept mutex after receiving the shutdown signal
in single-process mode. (That isn't a critical step, but
neatness counts.)
Submitted by: rpleum |
d0aad1cd29a348a32edf8783600ac8a09ba4329c 732414 |
|
07-Jan-2009 |
trawick |
As jorton discovered, recent Linux kernels have a new tunable
setting for epoll that will trip up many prefork users. Write
a log message instead of crashing.
PR: 46467
As rpluem notes, some Apache doc is in order. |
a91a59d0b0ceed7cd5621fe8757eda5ff6a043a8 722399 |
|
02-Dec-2008 |
pquerna |
API Cleanup in preperation for 2.4.x, make sure all exported functions or variables contain an ap_ prefix. |
d2e300c8f6893b710696db76d2ad32056e729780 711146 |
|
04-Nov-2008 |
niq |
Further unixd hacks to remove duplication between old-unixd and mod_unixd,
and get it working with old MPMS[1] + mod_unixd. It's still an uneasy
split, as some modules (mod_cgid, suexec)[2] also use unixd.
More thinking+hacking due.
[1] Should be prefork/worker/event, but only worker is tested.
[2] cgid is OK, suexec is untested. |
70519fd54cbaeb17f04ef45be265093e9a84b649 709993 |
|
03-Nov-2008 |
niq |
Switch all unix MPMs to use drop_privileges hook (mod_unixd) for startup
and add a flag to prevent running without any module taking responsibility
for managing system privileges! |
d6e81217d873dc3b87fc4ffa5fbac2fad4191a15 645455 |
|
07-Apr-2008 |
pquerna |
Remove all references to CORE_PRIVATE. |
978b1ab104c2c8e94e427203eef23ebe63231636 645437 |
|
07-Apr-2008 |
pquerna |
Remove ap_graceful_stop_signalled from all MPMs. |
a9fd23a5d3ec96a56256405bcff249dc64c31a96 613260 |
|
18-Jan-2008 |
jorton |
* server/mpm/prefork/prefork.c (child_main): If apr_pollset_poll()
fails with EINTR and die_now has been set (indicating a graceful
stop/restart), terminate the child quickly rather than re-entering
poll(). |
193a91b3e014f7f85afde10ec4c0f8241f5be904 613252 |
|
18-Jan-2008 |
jorton |
* server/mpm/prefork/prefork.c (child_main): Unlock the mutex before
terminating in the multi-listener poll error path. |
a86bbe48e4fc10c750e9ecb291b4d90bb68f834f 552029 |
|
29-Jun-2007 |
jorton |
* server/mpm/prefork/prefork.c (child_main): Stop processing new
connections if shutdown_pending is set, i.e. when SIGTERM is received
in single-proecss mode.
Submitted by: Garrett Rooney <rooneg apache.org>
PR: 38848 |
5d4512d8c3a70094ff3e941667007a42925f73e2 551843 |
|
29-Jun-2007 |
jorton |
Add alternative fixes for CVE-2007-3304:
* configure.in: Check for getpgid.
* include/mpm_common.h (ap_mpm_safe_kill): New prototype.
* server/mpm_common.c (reclaim_one_pid): Ensure pid validity before
calling apr_proc_wait().
(ap_mpm_safe_kill): New function.
* server/mpm/prefork/prefork.c, server/mpm/worker/worker.c,
server/mpm/experimental/event/event.c: Use ap_mpm_safe_kill() on pids
from the scoreboard, throughout.
* include/ap_mmn.h: Minor bump. |
d9b12166875edee8979f2bd4ad3927e4ed7fdc4b 551835 |
|
29-Jun-2007 |
jorton |
Revert r547987 ("svn merge -c -547987 .") |
6b5c796d0b610b0f7a0e6da415ad85258d7897cb 551823 |
|
29-Jun-2007 |
jorton |
* server/mpm/prefork/prefork.c (reap_children),
* server/mpm_common.c (ap_wait_or_timeout): Remove dead code; NEED_WAITPID
has never been defined by the 2.x build system. |
a37803b5c687c0bfb99e49bd4b030fb40812774d 547987 |
|
16-Jun-2007 |
jim |
PID table impl: parent process keeps a local table store of
Apache child process PIDs and uses that to check validity
of what's in the scoreboard. |
d8d2e46be685fa9be4a16f0f4ab373a185d2f612 451297 |
|
29-Sep-2006 |
jorton |
* server/mpm/prefork/prefork.c (prefork_check_config): Remove unused variable. |
1ce78cf71b5baaf2c1ab48e818cb1f2397df5010 440337 |
|
05-Sep-2006 |
trawick |
Replace ap_get_server_version with ap_get_server_banner() and
ap_get_server_description().
High-level summary:
The full server version information is now included in the error log at
startup as well as server status reports, irrespective of the setting
of the ServerTokens directive.
Third-party modules must now use ap_get_server_banner() or
ap_get_server_description() in place of ap_get_server_version(). |
4bd465052c4a0c8d41e573ee7a90c312d980355f 431460 |
|
15-Aug-2006 |
chrisd |
Introduce a check_config phase between pre_config and open_logs,
to allow modules to review interdependent configuration directive
values and adjust them while messages can still be logged to the
console.
The open_logs phase is already used somewhat for this purpose by
certain MPMs (winnt, prefork, worker, and event) but only by forcing
their functions ahead of the core ap_open_logs() function, and
since this phase runs after the ap_signal_server function during startup,
it can not be used to generate messages on the console when restarting.
Add the check_config phase to mod_info and mod_example.
Handle relevant MPM directives during this phase and format messages
for both the console and the error log, as appropriate. Bounds and sanity
checks on the values of the MPM directives are handled in sequence in
this phase instead of in the various directive handling functions, since
those functions (e.g., set_max_clients()) may not be called at all if their
directives do not appear in the configuration files, and even if they
are called, there is no guarantee that this will occur in any particular
order.
Remove from the worker and event MPMs the code in the pre_config phase
that alters the configuration node tree by re-ordering ThreadsPerChild
ahead of MaxClients. This code is effective but insufficient; for
example, if ServerLimit follows MaxClients, the test against server_limit
in set_max_clients() is invalid. (In practice, this only results in
incorrect or absent warnings on the console, because server_limit is
set to its configured value when the main loop re-runs the configuration
process.)
Prevent ap_threads_per_child from exceeding thread_limit in the
winnt, worker, and event MPMs. This situation could occur if
ThreadsPerChild was not specified in the configuration files and
ThreadLimit was set to a value smaller than DEFAULT_THREADS_PER_CHILD,
because set_threads_per_child() would never be called and therefore
its bounds check against thread_limit would not be performed.
Remove from the winnt, prefork, worker, and event MPMs the
changed_limit_at_restart flag. Set the first_server_limit and
first_thread_limit values during the first execution of the check_config
function, and use them to detect changes to ServerLimit and ThreadLimit
across restarts and issue appropriately formatted warnings. Remove the
comments about the error log being a "bit bucket"; this was true when
the code was originally committed in r92530 but that was due to a bug
fixed in r92769.
Be consistent about setting all MPM configuration directive values in the
pre_config phase.
Rephrase and reformat the console and log file messages relating to
MPM configuration directives to be consistent across all MPMs. Use
briefer messages when logging to the error log than to the console.
Update miscellaneous stale comments and messages (e.g., reference to
daemons_min_free in worker and event MPMs, "prefork open_logs" in
winnt MPM, and StartServers in netware MPM).
The winnt, netware, beos, and mpmt_os2 MPMs should be tested by developers
with access to those platforms, especially the winnt MPM, which has
unique logic with respect to distinguishing between parent and child
processes during the configuration phases.
Update the English documentation for the worker MPM's ThreadsPerChild
directive, which no longer needs to precede other MPM directives in the
configuration files if it has a non-default value. The German (.de) and
Japanese (.ja) translations should be updated by developers fluent in
those languages. |
842ae4bd224140319ae7feec1872b93dfd491143 420983 |
|
11-Jul-2006 |
fielding |
update license header text |
f70c62d79bd820f96252c0a46cea7aec211356e0 405721 |
|
10-May-2006 |
jorton |
* server/mpm/prefork/prefork.c (child_main): Tag pchild. |
3d81f57512275ca06a60a9bcbd23c1f8b429fdf2 395228 |
|
19-Apr-2006 |
colm |
Update the copyright year in all .c, .h and .xml files |
e8f95a682820a599fe41b22977010636be5c2717 332306 |
|
10-Nov-2005 |
jim |
No functional Change: Removing trailing whitespace. This also
means that "blank" lines consisting of just spaces or
tabs are now really blank lines |
d39e15c9e0f65050b527ae674a557ddcc6150a0c 293307 |
|
03-Oct-2005 |
colm |
Remove some trailing spaces. Syncs with 2.2.x. |
fbe914c128c69aff8822e30898e4eca2c8f17458 290124 |
|
19-Sep-2005 |
jorton |
* server/mpm/prefork/prefork.c: Add volatile qualifier to die_now
since it is changed by a signal handler. |
f6aa8572a3986fcc2cfed30ce1730aca0c14df72 265523 |
|
31-Aug-2005 |
colm |
Initiliase all of the first_*_limit variables to zero, so that we can actually
raise limits beyond their defaults reliably. |
783334f576bfb7ef44623faf7af44a65cf13b9b4 265506 |
|
31-Aug-2005 |
jim |
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. |
00a9373468bf0622b0dfa823374a8543eab5df55 264103 |
|
29-Aug-2005 |
colm |
Move the "GracefulShutdownTimeout" command definition into mpm_common |
3b880a66ebb3073cefdb5ca41542e848feee9c74 241814 |
|
28-Aug-2005 |
colm |
Re-add a simple, obvious, speed-up. |
6ff2f628887d9905f817c7e6ecba3aae01b7912a 240466 |
|
28-Aug-2005 |
colm |
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. |
09fe36356e0ba563c84f86f53a7cd9ba43f6ea9f 240296 |
|
26-Aug-2005 |
colm |
Move the "GracefulShutdownTimeout" directive into mpm_common, for re-use
with other MPM's. |
3e31296f734b08ad1e536cf6a1198b8cdb6d0d22 240270 |
|
26-Aug-2005 |
colm |
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). |
f60a3ec9d55938e4ef8828e80c8a1f2439ddf77c 239711 |
|
24-Aug-2005 |
colm |
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). |
08cb74ca432a8c24e39f17dedce527e6a47b8001 151408 |
|
04-Feb-2005 |
jerenkrantz |
Update copyright year to 2005 and standardize on current copyright owner line. |
4bb7ba7c1f9972b443562faf99151ccec854446f 104548 |
|
11-Aug-2004 |
jorton |
* modules/ssl/ssl_engine_kernel.c (ssl_callback_SSLVerify_CRL),
* server/log.c (ap_log_pid),
* server/mpm/prefork/prefork.c (accept_mutex_on, accept_mutex_off),
* support/htdbm.c (htdbm_list):
Fix some non-literal format strings (warnings from gcc -Wformat-security).
PR: 30585
Submitted by: Ulf Harnhammar (SITIC), Joe Orton |
a454c1041a1303a566d19e2c3d0d954635dadbdd 103348 |
|
12-Apr-2004 |
nd |
the eight space tabs are harassing me.
:set tabstop=8
:retab
(no code changes) |
71f8dab0f2a197bba1e4626bc6e65990f3444adf 102957 |
|
14-Mar-2004 |
jerenkrantz |
Improve helpfulness of error messages when accept mutex has a problem. |
6de8046f8f7e07cd83895a528df25d977e502c76 102619 |
|
09-Feb-2004 |
nd |
fix name of The Apache Software Foundation |
1c6e7fdeb4d140820a6d8c37d72e0ad5e41d8360 102585 |
|
08-Feb-2004 |
nd |
fix copyright dates according to the first check in |
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dc 102525 |
|
06-Feb-2004 |
nd |
apply Apache License, Version 2.0 |
5dce6b6dd8b82af80f9754ec4740ff61477a77b1 102347 |
|
15-Jan-2004 |
gregames |
bump MAX_SERVER_LIMIT by 10x (hoping to stay ahead of Moore's Law for a little
while) since the current limit is too small for at least one high end site.
Submitted by: Colm MacCarthaigh [colm stdlib.net] |
26a4456dd6f1a5d7d7fff766551461a578687c4a 102135 |
|
01-Jan-2004 |
nd |
update license to 2004. |
0ad9e30766575bcbe51ae267b4900d02cf9e0fc6 102042 |
|
13-Dec-2003 |
trawick |
fix the name of the failing API call in a log message |
29a9516d4b69977a36f4c93119ffcbec9809b044 102019 |
|
10-Dec-2003 |
trawick |
add new MPM query -- AP_MPMQ_MPM_STATE -- to find out what the MPM
is doing
work-in-progress; not so useful until other MPMs support it |
ffe2288659bf2572ce8e3464986c1ad660f3c1cd 101848 |
|
22-Nov-2003 |
trawick |
build with latest other-child API changes |
96493d7aa036a58d1b5357eb36ffb3cfe8ec1c77 101799 |
|
17-Nov-2003 |
gstein |
Switch the prefork MPM over to the new pollset interface.
* server/mpm/prefork/prefork.c:
(listensocks[]): removed. not required.
(child_main): stop using listensocks[] in favor of an apr_pollset_t. if
there is just one listener, then always refer to that listener's
listen_rec for further processing, otherwise poll and pick up the
listen_rec pointer from the polling structure's client_data. tweaked
the round-robin for the new pollset API (and documented).
cleaning: removed 'offset' which is obviated by the use of a pointer
to a listen_rec. tighten the block-scope of several variables.
switch to use a 'status' variable name rather than three separately
named variables. rename n->numdesc to be more obvious. |
b7973a1e572a3ff7cdedb48ed1f9481ece700bf9 101714 |
|
07-Nov-2003 |
trawick |
Fix uninitialized gprof directory name in prefork MPM.
PR: 24450
Submitted by: Chris Knight <Christopher.D.Knight@nasa.gov>
Reviewed by: Jeff Trawick |
32a671af071f20b4ff0da1908e239b0ca7647fa2 101513 |
|
22-Oct-2003 |
jorton |
Prevent slow graceful restarts on some platforms:
* prefork.c (ap_mpm_run): Only make as many dummy connections as slots
used, not as many as slots are available. |
ebd793fbca6d74eb63412bdc974a0af9b972ed8d 101117 |
|
28-Aug-2003 |
bnicholes |
Make sure that the global ap_max_mem_free is initialized along with the
other MPM globals whenever HTTPD is started or restarted. |
611d2f4e86b4eceb640a5301bd88a23cb459e5a8 100517 |
|
09-Jul-2003 |
striker |
Forward port patch for CAN-2003-0253 from 2.0.
SECURITY [CAN-2003-0253]: Fixed a bug in prefork MPM causing
temporary denial of service when accept() on a rarely accessed port
returns certain errors. Reported by Saheed Akhtar
<S.Akhtar@talis.com>. [Jeff Trawick] |
a18a308d7a942230edcde1bf00d7ae9b4b143c90 99574 |
|
24-Apr-2003 |
trawick |
prefork MPM: Use the right permissions for the directory created
for gprof support.
Submitted by: Jim Carlson <jcarlson@jnous.com>
Reviewed by: Jeff Trawick |
0f9e301c25f3064f865dcdabcfbc96f21a579a39 99573 |
|
24-Apr-2003 |
trawick |
the error code is in the apr_status_t, not errno |
0101229a61bb9313c61fb94360f8546cfa985479 99533 |
|
23-Apr-2003 |
trawick |
improve -DONE_PROCESS handling with prefork MPM so that
it returns from ap_mpm_run() and allows core Apache code
to run any required cleanups
this resolves problems such as semaphore leaks and
shared memory that isn't cleaned up
(some necessary re-indention to be done in a separate
commit; otherwise, this would be a difficult commit
to review) |
a29b6dffea8320685566bcd38a48ce91ef861dee 99312 |
|
09-Apr-2003 |
trawick |
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 |
33bdcae1f7a1a65e351dda2a766a0cf28b1e695d 98573 |
|
03-Feb-2003 |
nd |
finished that boring job:
update license to 2003.
Happy New Year! ;-)) |
ef2f271811650c3e89adebc38ad0f1c2c1193ded 97287 |
|
23-Oct-2002 |
gregames |
fix "long lost child came home!" messages after a graceful restart with
MaxClients (== ap_daemons_limit) lowered. This leaves junk at the end of
the formerly used part of the scoreboard. If you then decide to raise
MaxClients via graceful, the junk prevents those scoreboard slots from
being used.
This should not impact performance because find_child_by_pid stops its
search when it sees a matching pid. If we don't have a match, something
else is busted. |
5973c2eef790195891489772713c11c3bf87029c 96106 |
|
17-Jul-2002 |
trawick |
zap an unused variable |
776fd45d47de92104680e335bc91aecdf6d267b0 96102 |
|
17-Jul-2002 |
rbb |
Get the prefork MPM using the apr_poll interface directly instead of going
through the old functions which are only still available for backwards
compat. |
f706ad4ddbeb3b9814f52e83006e505cbb2cf662 96005 |
|
11-Jul-2002 |
rbb |
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. |
bdbafc44d060509e86f0cc56ff4d19579438f846 95954 |
|
04-Jul-2002 |
striker |
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. |
46603605c2edcc1cc84fa45634e19a395134078a 95665 |
|
14-Jun-2002 |
trawick |
prefork MPM: Ignore mutex errors during graceful restart. For
certain types of mutexes (particularly SysV semaphores), we
should expect to occasionally fail to obtain or release the
mutex during restart processing.
These mutex failures seem to be a pretty rare occurrence, but
it was fatal. |
b26781e595625911fc8fc8215133ad2285ed75d8 95568 |
|
07-Jun-2002 |
jim |
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: |
6b28bf6dd38f5c48537960e1c7e97d1fdf0c084b 95373 |
|
30-May-2002 |
striker |
Catch up with the apr_allocator_set_owner -> apr_allocator_owner_set renames
in APR. |
9f7325ecad575cf77ab76b01beaaf339a63490b5 95237 |
|
23-May-2002 |
trawick |
Add "-k start|startssl|restart|graceful|stop" support to httpd
for the Unix MPMs. These have semantics very similar to the
old apachectl commands of the same name.
The use of stderr/stdout and exit status for error conditions
needs to be revisited. For now it matches apachectl behavior.
Justin Erenkrantz got the ball rolling with this feature. Some
of his support code was used unchanged. Other code was shuffled
around and modified or rewritten. |
2d399cd7535887fceaa9f8f116eb98ce68ddd602 95149 |
|
17-May-2002 |
trawick |
stop using APLOG_NOERRNO in calls to ap_log_?error() |
9d3fdc3bb8077a46851080e17ef9f16c83720c8f 94541 |
|
08-Apr-2002 |
trawick |
Remind the admin about the User and Group directives when we are
unable to set permissions on a semaphore.
PR: 7812 |
3dd9013ade915941216e21c76b183f6fee35face 94443 |
|
05-Apr-2002 |
trawick |
quiet a bogus gcc warning that crops up with -O2 |
8f9e3d3dc602155a189ed2f30ad4707af56a8368 94431 |
|
04-Apr-2002 |
striker |
Remove hardcoded paths from MPMs and move them to a more central
place. Expand paths in httpd-std.conf in a similar fashion as we do
in our headers.
Submitted by: Pier Fumagalli <pier@betaversion.org> |
e2d6eab19ca30a2e9bce05f03600d41d39402038 94419 |
|
03-Apr-2002 |
trawick |
prefork MPM: add -DFOREGROUND option to use when you want
the parent process to run in the foreground
(NO_DETACH is a special mode for running under
programs like daemontools)
the existing flag -DDEBUG turns on FOREGROUND
now instead of NO_DETACH |
cc5bf1bfd96ec1b8dafe84c19a564200d6134978 94418 |
|
03-Apr-2002 |
trawick |
style change only |
c5fdaba2e790a0a351d796b5fe3dcfb585be1ba2 94306 |
|
29-Mar-2002 |
jim |
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: |
2fc50921b88defeb7127985dfe4b4130175e069e 94304 |
|
29-Mar-2002 |
jwoolley |
BUCKET FREELISTS
Add an allocator-passing mechanism throughout the bucket brigades API.
From Apache's standpoint, the apr_bucket_alloc_t* used throughout a given
connection is stored in the conn_rec by the create_connection hook. That
means it's the MPM's job to optimize recycling of apr_bucket_alloc_t's --
the MPM must ensure that no two threads can ever use the same one at the
same time, for instance. |
836d6aa72d33f9bfc8e277577824d4103fc10173 94062 |
|
20-Mar-2002 |
jim |
Fold the compiled-in knowledge of the allowable AcceptMutex settings into
its help entry. Requires the use of a extern string rather than a function
call for the initialization to be valid in the macro (Thx to Jeff!).
In the meantime, bump down the error logging until we deal with true
default and configured setting information ala 1.3.
PR:
Obtained from:
Submitted by:
Reviewed by: |
eb37bbfcbc8e8571a8b8434a8c3fff02cf3d590d 94061 |
|
20-Mar-2002 |
trawick |
no need to kill the scoreboard cleanup anymore on graceful
restart; the scoreboard is longer-lived
PR:
Obtained from:
Submitted by:
Reviewed by: |
b4e4d76bf454e1b603b410110356dbcf12f3bc42 94055 |
|
20-Mar-2002 |
jim |
Bring 2.0 up to parity, a bit, with how much info we provide to
the admin regarding valid values for AcceptMutex. Should also
tell 'em what "default" actually maps to, but that can wait.
PR:
Obtained from:
Submitted by:
Reviewed by: |
de379472efa6c1f8b8e9cafbd8997f3c6a3ee00a 94039 |
|
20-Mar-2002 |
wrowe |
The pre_mpm hook creates server-lifetime objects (or at least, for the
generations across graceful restarts.) They should use the process pool. |
d9fcdb415d8661cbd9451df8f88e003a1aa04ce9 93999 |
|
18-Mar-2002 |
trawick |
Fix a hang condition with graceful restart and prefork MPM
in the situation where MaxClients is very high but
much fewer servers are actually started at the time of the
restart.
The way we notify an entire generation to die at once is
changed so that we don't have to use the pod (and deal with
the ease of filling the kernel pipe buffer). |
eee7af969027d291b3dde43bffa32ad5ec19a277 93998 |
|
18-Mar-2002 |
trawick |
prefork and worker:
after allocating a new scoreboard, make sure the right generation
is stored in the global score |
cb97ae2ff6969c2789b8e03f1bc4187fa73b6baf 93969 |
|
16-Mar-2002 |
wrowe |
Simplify s/APR_OS_PROC_T_FMT/APR_PID_T_FMT/, apr_os_foo entities aren't
for external consumption. |
a462faa9b49ab5afbba870be13594ab2457fa54a 93943 |
|
15-Mar-2002 |
striker |
Update the mpms to call the new allocator/pools API |
bc8fd1b0b1afdf89b8d28eefa8cd74e26ba97986 93918 |
|
13-Mar-2002 |
fielding |
Update our copyright for this year. |
e05cb4bd721e35ac27a7064d0bb9d7a626327751 93535 |
|
21-Feb-2002 |
aaron |
Implement apr_proc_detach changes and allow -DNO_DETACH in the multi-process
mode to not "daemonize" while detaching from the controlling terminal.
This is necessary for Apache to work with process-management tools like
AIX's "System Resource Controller" as well as Dan Bernstein's "daemontools".
What this means is apache must _NOT_ be a process group leader if called
with the -DNO_DETACH flag.
Submitted from: Jos Backus <josb@cncdsl.com>
Edited/Reviewed by: Aaron Bannert |
621249fa2d48880147b7eff0261997877ab45ae1 93450 |
|
17-Feb-2002 |
trawick |
expand_lock_fname() is no longer used |
2ec072d3af31c12b96360418a757095b814cbf11 93446 |
|
16-Feb-2002 |
brianp |
Restored the permission setting for the accept mutex (which
was lost in my previous commit to change to the new lock API) |
2eb02c330b2c5344755b7e8dd42f5884b700af47 93444 |
|
16-Feb-2002 |
brianp |
Converted prefork MPM's accept mutex to the new lock API |
2f1be60b7ec2d3bbb5515d34754ba5cfe65fdef7 93434 |
|
15-Feb-2002 |
aaron |
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 |
6d74c65f131583f6832b04424c1a9e1e7cc72c8e 93366 |
|
12-Feb-2002 |
gregames |
if a child detects a resource shortage on accept(), limit the rate of fork()s
to 1 per second until the situation clears up.
Inspired by: Martin Kraemer |
064448ce15afe798e3c1dc0445fe2a30eb256bf6 93356 |
|
10-Feb-2002 |
gregames |
prefork shouldn't be killing its parent if a child runs out of resources. |
af262486b3d1c33299307195a715bd1e373f99af 93227 |
|
04-Feb-2002 |
rbb |
Not being able to bind to a socket is a fatal error. This makes all
MPMs treat it as such. We now print a message to the console, and return
a non-zero status code. |
fe2f263728bae9d43e45c5b4ab20ade8ebea6b67 93224 |
|
04-Feb-2002 |
rbb |
This patch allows the prefork MPM to print messages to the console if it
can't open a socket for some reason. |
19a01f46d8da4d6e80ddd54c99d50e3bce5217cb 93171 |
|
01-Feb-2002 |
stoddard |
Reintroduce the create_connection hook. This hook is required to enable
modules to completely take over all network i/o from the core. |
169be500e5f4a70c6f299888f37f348803811b07 93119 |
|
30-Jan-2002 |
rbb |
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. |
20705b3c557f0a1025a64e35685f592336e7f755 93090 |
|
29-Jan-2002 |
gregames |
get prefork to build again. |
ae695b6a7316a92dddee9327ce71ec65ba522670 93069 |
|
29-Jan-2002 |
aaron |
Take advantage of the new pre_config return value when apr_proc_detach
fails. I'll be making some changes to apr_proc_detach, and it will be
nice to be able to report runtime errors.
Tested on worker but the code changes are identical on other MPMs. |
417f504d4d11631c0d062be85347f82a26c88677 93063 |
|
29-Jan-2002 |
aaron |
The pre_config hook now takes a return value. This allows modules to
cause the server to bail out under error conditions. |
7a95e47ff0d0e4306df0901d56131b49dca5691e 93055 |
|
28-Jan-2002 |
trawick |
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 |
b393bdb2e1eabbe4b9b37c5eaeeeca799b2eb324 93050 |
|
27-Jan-2002 |
stoddard |
Remove the create_connection hook and put the client_socket back into the
conn_rec. The create_connection_hook has a design flaw that prevents it
from making decisions based on vhost information. |
09d08ff18784506ce825396bdef7ce602918cba2 92916 |
|
18-Jan-2002 |
gregames |
don't poll if there is only a single listening socket |
988bba948c4ac6eab31d2397ac3dd0178d5c1dbc 92828 |
|
11-Jan-2002 |
trawick |
let's play "name that pool"
(debugging aid... set the tag on the transaction pool with prefork) |
26dfa083a1662d57ba7cc410eec4e0696b9be469 92791 |
|
10-Jan-2002 |
wrowe |
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. |
612b906e8dd17ebb1704b6663caf5d9ab321f971 92653 |
|
30-Dec-2001 |
trawick |
handle the disappearance of apr_lock_create_np() and
apr_proc_mutex_create_np() and the new parameter to
apr_lock_create() and apr_proc_mutex_create() |
1eb1f02a23de724c105b2c6c9fbd469a611059c6 92530 |
|
19-Dec-2001 |
trawick |
Add directives to worker and preform MPMs so that the admin can set
the equivalent of HARD_SERVER_LIMIT/HARD_THREAD_LIMIT at startup. |
ca47a2b6bcea23e8af185c68f256dcbbfd2a0f9d 92512 |
|
18-Dec-2001 |
trawick |
Change core code to allow an MPM to set hard thread/server
limits at startup. |
d8258834efa0ab74575667ac7e4ad789569e4731 92481 |
|
14-Dec-2001 |
brianp |
Use the new pool API to eliminate pool locking in the prefork MPM |
752ab911a1a7fd6ce297a5f38b80ad38cc70c8f3 92230 |
|
29-Nov-2001 |
dougm |
carry over from 1.3: disable profiling in the parent process #ifdef GPROF
PR:
Obtained from:
Submitted by:
Reviewed by: |
0f101a4a0aecdcb213cdad2d80664d342f8e9222 92053 |
|
20-Nov-2001 |
dougm |
fix chdir_for_gprof() to s/dir/use_dir/ for chdir() |
5ad238c42b1e159ee8f164515e0c4ee6c727c2fd 92019 |
|
17-Nov-2001 |
trawick |
Get mod_cgid killed when a MPM exits due to a fatal error.
Presumably other such processes are affected to. Now we
give main() a chance to clean up. |
d7d24786c80ad1ae337b916a0a44b2a7b8fcb54d 91968 |
|
15-Nov-2001 |
rbb |
Pull lingering close out of the pool cleanup phase. This was causing too
many bugs. Instead, it is called where it used to be called. I have
abstracted some of the logic out of the lingering close so that it gets
the socket from the connection using the core's conn_config vector. This
is in anticipation of a change to use a hook for the lingering close,
which I hope to do soon. |
6e954603b02f2b7d4ad80af17d9b3cc6f0bacf69 91916 |
|
13-Nov-2001 |
rbb |
Allow modules that add sockets to the ap_listeners list to
define the function that should be used to accept on that
socket. Each MPM can define their own function to use for
the accept function with the MPM_ACCEPT_FUNC macro. This
also abstracts out all of the Unix accept error handling
logic, which has become out of synch across Unix MPMs.
The code flow is much easier now for different transports:
1) During pre-config, post-config or while parsing the config
file, add a socket to the ap_listeners list, making sure to
define an accept function at the same time.
2) MPMs find the correct listener, and call the accept function
that was defined in step 1.
3) That accept function returns a void pointer, which is passed
to the create_connection hook.
4) create_connection adds the correct low-level filters. |
cc5e9d68a9cbb9fe844aed4b2f815eb09050d06f 91913 |
|
13-Nov-2001 |
rbb |
Add the server_rec argument back to the create_connection hook.
Submitted by: Greg Stein |
7034791ecb26144674accd9f11cf4820ab5f2871 91912 |
|
13-Nov-2001 |
rbb |
don't use a variable named stat, it can cause problems on some platforms. |
5f9dbff2fa88832379f94c32530d0e37adc31d00 91906 |
|
13-Nov-2001 |
rbb |
Back out my last patch. The logic to add sockets to pollsets is back in
the MPM |
f537895b91db96b19c300dfd4c65dd208c31b66a 91899 |
|
13-Nov-2001 |
rbb |
This allows modules to add socket descriptors to the pollset. I have
only added this to the perfork MPM, and the others work without it.
Tomorrow I will add it to the other MPMs. |
1c0b7c3bdace07946457fa7ba04b7f97b6599792 91896 |
|
13-Nov-2001 |
rbb |
Remove commas from the end of the macros that define
directives that are used by MPMs. Previous to this patch,
you would use these macros without commans, which was unlike
any other directives. Now, after the macro, you must have
a comma. This makes the macros look more like the rest of the
directives.
I know this is cosmetic, and I was going to leave it alone, but when
I found out that it bothered Cliff too, I decided to fix it after all.
Submitted by: Ryan Bloom and Cliff Woolley |
57dbb41e7cf44cdd9aa99aa4c065e769463ab6b1 91889 |
|
13-Nov-2001 |
rbb |
Remove more network logic from the MPMs. Essentially, each MPM can define
AP_MPM_DISABLE_NAGLE_ACCEPTED_SOCK, which tells Apache to disable_nagle
on the accepted socket. |
e6cc28a5eb3371ba0c38e941855e71ff0054f50e 91887 |
|
13-Nov-2001 |
rbb |
Begin to abstract out the underlying transport layer.
The first step is to remove the socket from the conn_rec,
the server now lives in a context that is passed to the
core's input and output filters. This forces us to be very
careful when adding calls that use the socket directly,
because the socket isn't available in most locations. |
ff3324554d33d2103bcb2ecf6731835c8a75ae9a 91850 |
|
11-Nov-2001 |
trawick |
minor tweaks to pass a parm of the right type to apr_poll() and
to use i for an iterator in both listensocks[] loops |
06ed662690c20cfcfc07c870af3eec2693803237 91849 |
|
11-Nov-2001 |
trawick |
in prefork, listensocks[0] doesn't have a pod
also, fix an ap_log_error() call to use ret for the error code
instead of errno |
53509ebdb0660b47696e64b8214b73818d339553 91832 |
|
10-Nov-2001 |
rbb |
Remove ap_lingering_close from all of the MPMs. This is now done as
a cleanup registered with the connection_pool. I have also turned
ap_lingering_close into a static function, because it is only used
in connection.c. This is the next step to consolidating all of the
socket function calls. ap_lingering_close will only be added if the
core is dealing with a standard socket. |
adfb3586042399a245ee3305550e03752f1b1502 91829 |
|
10-Nov-2001 |
rbb |
Move prefork to the same API as the rest of the MPMs for setting up
listeners. |
c4fbc4018fd2b6716673a38ee27eeb36cba41c5d 91777 |
|
07-Nov-2001 |
jwoolley |
Fix the spelling of the AP_MPMQ_MIN_SPARE_DAEMONS and
AP_MPMQ_MAX_REQUESTS_DAEMON macros. Better to do it now rather than later.
**WARNING** This will of course break the compile on any third-party MPMs
you might have floating around, but it's a really quick change to make. |
d4e550d14211f85d6b71a03c214670b18e2738da 91758 |
|
06-Nov-2001 |
jwoolley |
These comments are pretty much useless now AFAICT. |
022cff78006f698453640e0a0e97cc5f8c9de59d 91648 |
|
23-Oct-2001 |
rbb |
Fix the reporting for child processes that die. This removes
all of the non-portable W* macros from Apache.
Submitted by: Jeff Trawick and Ryan Bloom |
8ea9794272347cfdd92861f46295406649f01afa 91494 |
|
16-Oct-2001 |
trawick |
Exit when we can't listen on any of the configured ports. This
is the same behavior as 1.3, and it avoids having the MPMs to
deal with bogus ap_listen_rec structures.
This also backs out some circumventions I and Greg Ames had added
to prefork; these are no longer necessary because of this change. |
7fd7a22a363d8bbc3b6bb8b3b55ae2753851ae76 91431 |
|
11-Oct-2001 |
gregames |
fix another seg fault. |
6d7d70dbda8e461d87f2d41e323755496ae3ebc7 91399 |
|
10-Oct-2001 |
trawick |
prefork: Don't segfault when we are able to listen on some but
not all of the configured ports.
Other points to ponder:
why no log message for the segfault?
similar change would seem to be needed in other MPMs... we
may be adding bogus entries to the poll set |
0aa8e8fd5a242948518655f2296b3c76386754e5 91076 |
|
19-Sep-2001 |
jerenkrantz |
Switch back to SIGUSR1 for graceful restarts on all platforms that
support it. This defines a symbol called AP_SIG_GRACEFUL in
ap_config_auto.h which will have the appropriate signal value. All
direct references to SIGWINCH have been replaced with AP_SIG_GRACEFUL.
On Linux 2.0, use SIGWINCH instead since SIGUSR1 is used by glibc
2.0's user-space threading library to control threads. All later
versions of Linux/glibc don't have this problem. (Not to mention the
security holes in older Linux versions which make it unsuitable for
use as a web server.) If your platform doesn't have SIGUSR1, use the
appropriate mojo in configure to define what your graceful restart
signal should be.
In theory, a configure switch could be added to allow the admin to
specify the appropriate signal that should be used. This is left
as an exercise to the reader for now.
The docs need to be updated. Since the signal is now configurable,
just saying SIGUSR1 for graceful restart isn't completely true. Also,
the apachectl functionality needs to be moved into httpd - this is
what Win32 does and it makes us consistent across platforms.
Roy issued a veto against use of SIGWINCH by default, so this should
resolve that veto. |
d6a93816bfaa5b3de5f2e6cb0d172cbe20dd056e 90824 |
|
30-Aug-2001 |
jerenkrantz |
Add -X functionality back to httpd.
- Updates upgrading.html
- Reverts Aaron's earlier docco patch (sorry...)
- Adds -X to all mpms in the tree |
c26b079f6995cd8fb30c68d2e17b69b2f91ac700 90790 |
|
30-Aug-2001 |
jwoolley |
Update the comments regarding -DONE_PROCESS and -DNO_DETACH since
-X doesn't exist anymore.
Submitted by: Aaron Bannert |
598ce99543701a45a31bb01bf73c83d894592491 90418 |
|
20-Aug-2001 |
rederpj |
The prefork and OS/2 MPMs are overwriting the pid file when a second copy
of httpd is started and shuts down due to socket conflict. Moving the
call to ap_log_pid solves the problem. |
a9d7ea181f2a40bebf19b06833ccbe13616f8322 90356 |
|
19-Aug-2001 |
rbb |
Update the Apache code to account for the XtOffset change in APR. |
7ba58e7e63da9a8b84f6160c476a0c9d639c81e9 90213 |
|
16-Aug-2001 |
trawick |
The Unix MPMs other than perchild now allow child server
processes to use the accept mutex when starting as root and
using SysV sems for the accept mutex. Previously, this
combination would lead to fatal errors in the child server
processes. perchild can't use SysV sems because of security
issues.
translation: steal apache 1.3 code to call semop(IPC_SET) on
the semaphore to set permissions and uid/gid |
00b8146bf5d1f543ce19917c6b4fe252d33baf79 90153 |
|
14-Aug-2001 |
trawick |
namespace-protect accept_lock_mech
fix a bug in the worker MPM which effectively disabled the AcceptMutex
directive |
7b4c4bb891261e613de39a021d7554fd08132fc5 90132 |
|
13-Aug-2001 |
rbb |
Begin to sanitize the MPM configuration directives. Now, all
MPMs use the same functions for all common MPM directives. This
should make it easier to catch all bugs in these directives once.
Everybody should check their favorite MPM to ensure that it still
compiles, and that these directives work. This is a big patch, and
although it looks good, and things compiled for me, that is no
garauntee that it will work on all platforms. :-)
Submitted by: Cody Sherr <csherr@covalent.net> |
f4434a8c7b59509850470dfc3ebe2b79c9548649 90064 |
|
10-Aug-2001 |
gregames |
record something in the error log if the parent process seg faults
Submitted by: Jeff Trawick |
65db4f712167a3498de73cee5c08032a8aa6a010 89608 |
|
18-Jul-2001 |
rbb |
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 |
ed4f9ec869d7fc5bd220c8d70ee58eed9b32d60a 89604 |
|
18-Jul-2001 |
rederpj |
Changed AP_MPMQ_MAX_DAEMONS to refer to MaxClients and
added an AP_MPMQ_MAX_DAEMON_USED to refer to the highest
daemon index actually used in the scoreboard. I also
updated the pertinent calls.
Paul J. Reder |
30284841436ed073aa985c312a937662ab9e9cbb 89554 |
|
16-Jul-2001 |
rbb |
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. |
009869bce73bb02e068f4ed98cca3524d9965807 89531 |
|
10-Jul-2001 |
trawick |
Check the pod after processing a connection so that we'll go away
if a graceful restart occurred while we were processing the
connection. Otherwise, we won't wake up until a real connection
comes in and we'll use the wrong config to process it and we may
block in the wrong syscall (because the new generation is using a
different accept mutex) and in general it is goofy. |
f44d73842e45390adaecf468eb99d6654e29c33d 89433 |
|
27-Jun-2001 |
wrowe |
Add additional query datum to the MPMs.
Harrie Hazewinkel <harrie@covalent.net> |
01cf96dd31bd6aa29311fdc2574ac30cb8447da0 89418 |
|
26-Jun-2001 |
trawick |
add the AcceptMutex directive and related processing to prefork MPM
the directive syntax is as suggested by JimJag a few days ago |
8f51581f171e356cb98c474ba5a192986c578a75 89416 |
|
26-Jun-2001 |
trawick |
fix a comment describing how we kill off a single child process |
831d35862ab3105f9c9a73851779938811887e8f 89369 |
|
14-Jun-2001 |
trawick |
fix some more signalling issues:
. in ONE_PROCESS mode, bail out immediately for SIGHUP and
SIGINT
Note that if you send HUP or INT and have cgid then cgid won't
go away. If you generate the interrupt signal from the httpd
terminal then cgid will go away, [I guess] because SIGINT gets sent
to the process group. Perhaps just_die() needs to have logic to
send to other processes in the group for ONE_PROCES mode
. the die_now flag should be static
. please_die_gracefully() is no longer needed |
4508be63cded849dbe65cf4b303b8a27d71f8e0d 89368 |
|
14-Jun-2001 |
trawick |
For SIGHUP in the server processes, we attempt to go away immediately,
just as for SIGTERM. If we deadlock because of some module or library
issue then SIGKILL will come soon enough.
Stop dorking with SIGTERM and SIGHUP in make_child(). That makes it
kind of hard for the caller to set up for ONE_PROCESS mode. |
6e156807af2aa997bfbe50cdea1e2f1ea67094f9 89367 |
|
14-Jun-2001 |
trawick |
fix a bad call to ap_log_error (missing the errno/apr_status_t parameter) |
d2751d15d705ab5cb55f1f10d5c5f5e16c5bbb4f 89366 |
|
14-Jun-2001 |
trawick |
catch SIGWINCH in the parent process and set appropriate flags
so that we write to the pod to tell the servers to go away |
ab7c688dc5487dfaa7d7c7e049c556098688a8ae 89365 |
|
14-Jun-2001 |
trawick |
fix a format string used for apr_status_t |
ac40075cd80237c61be9510a940b05debc7bac5e 89352 |
|
12-Jun-2001 |
trawick |
fix the bindprocessor() code selection; we need to test for the
presence of the bindprocessor() function, not for sys/processor.h,
which exists on some systems that don't have bindprocessor() |
7af2fcad9e14a79d7020a33766fbd3a4dfd088dc 89341 |
|
11-Jun-2001 |
orlikowski |
Make the processor unbinding/re-binding stuff on AIX work again. |
5456242d46ee861fb34bb83ce26804110eb9aa22 89295 |
|
07-Jun-2001 |
trawick |
check the pod in the child at a different spot so that we check it
when we get a new connection; we were (essentially) never checking it
before
we check it when weird errors occur too but that shouldn't matter |
55d986c77300fd39420b41f765b08c15b4c6418d 89282 |
|
07-Jun-2001 |
rbb |
First pass at the pipe_of_death logic for the prefork MPM. This does
pass some initial testing, but it needs to be banged on more. It looks
like if the server gets a lot of requests to restart all at once, there
are potential problems, but other than that this does seem to solve our
current restart issues. |
a7c2de0cb48ba4b96869dc6f299e37e4121ce800 89262 |
|
04-Jun-2001 |
rbb |
Fix some broken logic in the prefork MPM. Basically, in the past, if we
accepted a request, we didn't want to die if given a graceful restart
signal. The logic I am removing stops us from dying for a graceless
restart/stop signal, which is just wrong. If we are sent a graceless
restart/stop, then we need to stop immediately. |
aa616c3b5a4aa59867472cddf7d8e63693808f0e 89115 |
|
15-May-2001 |
rederpj |
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] |
05552d1205ee9de24e6a003f2b51985f2431250d 88934 |
|
25-Apr-2001 |
rederpj |
This patch puts enough of the signal processing back in so that the signals
are all handled properly now. My previous patch fixed the deadlock race
condition, but broke the user directed signal handling. This fixes it to work
the it did before (primarily SIGTERM is now working). |
e195f530289a532984788547fc22ef4d1d1995be 88851 |
|
13-Apr-2001 |
rbb |
Add more options to the ap_mpm_query function. This also allows MPMs to
report if their threads are dynamic or static. Finally, this also
implements a new API, ap_show_mpm, which returns the MPM that was
required into the core.
We tried to make all of the MPMs report their threading capabilities
correctly, but each MPM expert should double check us.
Submitted by: Harrie Hazewinkel <harrie@covalent.net> |
b132bb4b4e3de68fc3a26ce452bee9274094492f 88825 |
|
12-Apr-2001 |
wrowe |
More APR_STATUS_IS_ canonicalization |
ce03576b2434cec77f2921db9d5b6a0510581c23 88741 |
|
06-Apr-2001 |
rederpj |
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. |
9a0d076511763b559a755133f6a182e6c24ef643 88437 |
|
02-Mar-2001 |
rbb |
Allow modules to query the MPM about it's execution profile. This
query API can and should be extended in the future, but for now,
max_daemons, and threading or forking is a very good start.
Non-Unix MPM's do have the MPM query function, although there is no
garauntee that the information is perfect, please check.
Submitted by: Jon Travis <jtravis@covalent.net> |
5d181a55f273c75a6ae10bd1a0a8eeb80c9bd789 88423 |
|
02-Mar-2001 |
trawick |
fix the type of ap_my_pid and make it static since it is used
in only one file per build (prefork.c or threaded.c)
PR: 6980 |
56ed3e7e5a5032e0a3d31ec5cf0438cc1b88f3b4 88291 |
|
23-Feb-2001 |
dougm |
remove ap_{post_config,child_init}_hook
replace usage with ap_run_{post_config,child_init}
PR:
Obtained from:
Submitted by:
Reviewed by: |
53bb9198689cfcc08182c9bb27005368bcba42a2 88232 |
|
19-Feb-2001 |
dougm |
rename miss: s/apr_clear_pool/apr_pool_clear/g |
b99dbaab171d91e1b664397cc40e039d0c087c65 88184 |
|
16-Feb-2001 |
fielding |
Update copyright to 2001 |
7690a422ed560ebea0b173b55726020a9461eaf7 88150 |
|
14-Feb-2001 |
dougm |
doh. need a spellchekker for these rename scripts. s/apr_lock_aquire/apr_lock_acquire/g; |
78f2608a1583b3cb409e12be701392ad1a929653 88117 |
|
12-Feb-2001 |
rbb |
Begin to move the code that updates the child status out of the MPMs and
into the main-line code. This ensures that all MPMs can easily forget
about updating their status. |
719743e1e764888782fe4f388dfe4be53f1fda43 88116 |
|
12-Feb-2001 |
rbb |
Remove some OS/2 code from the prefork MPM. Since OS/2 has it's own
MPM, this is needed here. |
2571b1566efc927f3cec0be8d0ee9212703a0541 88085 |
|
11-Feb-2001 |
trawick |
INIT_SIGLIST() is gone; stop using it |
be3223a6a18d9a3a3cf7155d5430a5d92bcddcee 88081 |
|
11-Feb-2001 |
gstein |
*) include "apr_signal.h" when needed
*) some other minor include tweaks |
d44472957ac24ca210655dc3255257bf0534bf90 88078 |
|
11-Feb-2001 |
rbb |
Cleanup the rest of the warnings that appear when compileing with
GRPOF. |
024cd9589e52cf11ce765dfddb5b5f0c6e421a48 88061 |
|
10-Feb-2001 |
gstein |
*) continued header revamping
*) torch some headers (and some libs) from the autoconf stuff |
d67cd7ec1d8798341286a656a7da90ddc624e372 88037 |
|
09-Feb-2001 |
stoddard |
Replace reinit_scoreboard with ap_create_scoreboard. |
066877f1a045103acfdd376d48cdd473c33f409b 88019 |
|
08-Feb-2001 |
dougm |
renaming various functions for consistency sake
see: http://apr.apache.org/~dougm/apr_rename.pl
PR:
Obtained from:
Submitted by:
Reviewed by: |
9dcf6d0900674c6f6aa58f3ca75e68ac1cf13906 88018 |
|
08-Feb-2001 |
trawick |
scoreboard.h says it is extern (and scoreboard.c instantiates it),
but prefork.c instantiated it as static
It looks like the BeOS and OS/2 MPMs sh/could get rid of this decl.
also. |
6bcee6b60a2fc4c96328af30e79bad4927ff30f3 88012 |
|
07-Feb-2001 |
rbb |
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. |
bcef91d7068817e2e56854f5c5b22b6eb4663a85 87994 |
|
06-Feb-2001 |
rbb |
Setup the server start time correctly. This also gets the server uptime
to be reported correctly. I have also moved this code into a common
location, so that individual MPMs do not need to worry about setting up
the start time. |
eb52672c1b32724a62236847e2790fa023c1d336 87990 |
|
06-Feb-2001 |
trawick |
axe an unused parm to make_child(); this gets rid of a warning
on AIX about not having a prototype for time() |
0375f54d32af9c27de0006956d9f85d01b020351 87972 |
|
04-Feb-2001 |
stoddard |
More mod_status work... Get Current Time, Restart Time and Server uptime
displaying properly. |
3568de757bac0b47256647504c186d17ca272f85 87949 |
|
01-Feb-2001 |
rbb |
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. |
6057ebe10a85c95c601c0cd1ff69fdb795dc3309 87947 |
|
01-Feb-2001 |
trawick |
handle a TCP connection reset between the time we accept the connection
and when apr_get_sockaddr() does getsockname() or getpeername()
this change will be rolled into the other MPMs later |
1016bf91c61fc225896b380ada9cd3357fe9bd70 87928 |
|
31-Jan-2001 |
trawick |
use memset() instead of bzero(); APR no longer tries to guarantee
the existence of bzero() |
fa996ff928f6170678c8789c8073c368f56d770a 87882 |
|
28-Jan-2001 |
rbb |
The prefork MPM wasn't killing child processes correctly if a restart
signal was received while the process was serving a request. The child
process would become the equivalent of a second parent process. If
we break out of the accept loop, then we need to do die after cleaning
up after ourselves. |
a1bbc66131c63e718e3f73fc11a348f7552d7947 87881 |
|
28-Jan-2001 |
rbb |
Make the Prefork MPM use SIGWINCH instead of SIGUSR1 for graceful restarts. |
b31025f6f2c0392dc76eecca7f27faad0b902be0 87873 |
|
27-Jan-2001 |
wrowe |
Use the appropriate APR_FINFO_flags for the apr_stat/lstat/getfileinfo
calls to avoid ownership and permissions on Win32 when they are not
required, and until they are implemented. |
6f984345bbfa9342dde1f2b7b8c35b7987d078af 87760 |
|
20-Jan-2001 |
wrowe |
The changes required for the APR_FINFO_wanted argument to
apr_stat/lstat/getfileinfo. These are -NOT- optimal, they
are simply the required changes to get the server working.
The size of the patch is a warning about how we need to
really look at what we are trying to accomplish with all
of these stat/lstat calls. |
b980ad7fdc218b4855cde9f75a747527f50c554d 87731 |
|
19-Jan-2001 |
wrowe |
The big change. This is part 3 of the apr-util symbols rename, please
see the first commit of srclib/apr-util/include (cvs apr-util/include)
for the quick glance at symbols changed. |
79ca7a183ef61d13f2ccbef22590c8c237cdbb02 87700 |
|
18-Jan-2001 |
rbb |
Fix prefork MPM |
0b34df54ff22d0ca05eb8e9d7c9610138a878c83 87661 |
|
12-Jan-2001 |
rbb |
Stop using environment variables to set ONE_PROCESS and NO_DETACH. Now
we use the -D command line argument to Apache to configure these
options.
Submitted by: Greg Stein |
d6c3accf07754479fa938c752d1f739ac872e984 87627 |
|
09-Jan-2001 |
trawick |
get rid of some bogus uses of perror() |
e95f5a6ebefb83d0e8a82cbc4db7d354957a817d 87604 |
|
07-Jan-2001 |
ben |
Make handlers use hooks. |
8ef805c764cbf0edbe9b4e6f5fed3baf50e224d1 87181 |
|
04-Dec-2000 |
trawick |
Get rid of ap_new_apr_connection(). ap_new_connection() now has
fewer parameters: the local and remote socket addresses were removed
from the parameter list because all required information is available
via the APR socket.
I haven't tested the most important part -- the WinNT MPM changes
-- but it compiles and it looks okay :) If the WinNT MPM works on
Win98 these days let me know. |
ef7bef3137b6efe36e9269fb15d3e031ad674870 87153 |
|
02-Dec-2000 |
rbb |
MPMs that require multiple segments of shared memory now just use two
shared memory blocks to ensure that all of the memory is available. This
removes the hack that added 80 bytes to each shared memory block. We
end up needing two apr_shmem_t variables, because it is difficult to
determine exactly how much memory will be needed. MM automatically tries
to align the shared memory allocations, so we either need to pad the
shared memory segments, or just use two different segments. This also
changes APR and MM to take into account whatever memory those packages
need to allocate when creating a shared memory segment. Any memory that
APR and MM need is automatically added to the size requested by the
program. |
57ea0ae988501d6801b2d19d43753cd960fefd42 87146 |
|
01-Dec-2000 |
trawick |
If apr_lock() or apr_unlock() fail, write a log message before bailing
out. |
cccd31fa4a72fe23cc3249c06db181b274a55a69 87080 |
|
26-Nov-2000 |
gstein |
*) Compensate for recent changes in the APR headers. Specifically, some
files need to specifically include stdio.h, or a particular apr_*.h
header.
*) Adjust callers of apr_create_process() to deal with the extra "const"
*) Add "const" to args of ap_os_create_privileged_process() |
6202068dd62e1853c346a46560d454f753a787c7 86916 |
|
10-Nov-2000 |
rbb |
MM has a bug that when you ask for a specific amount of shared memory
it allocates just that amount. But, MM actually uses some of it, so we
need to over allocate just a bit. On 32 bit machines 40 bytes is enough,
but on a 64 bit machine it isn't. So, we bump it up to 80 bytes until
MM fixes this bug.
Submitted by: David Hill <David.D.Hill@compaq.com> |
52feb4fc246900d2999f6a038c5a750d23bd544b 86878 |
|
09-Nov-2000 |
rbb |
Remove BUFF from the main server. :-) The buff code needs to remain as
a part of the server until the proxy is purged of BUFF however. |
174574a7fa1803ce99ffc54c19473a5057935bb9 86710 |
|
23-Oct-2000 |
manoj |
Add a temporary pool argument to unixd_pre_config, so that it can call
APR functions (grumble). This is needed for apr_stat, which will be in
the suexec path coming up. |
0ff36975b1f5fef1ccc0429bb76bcdaccd5d122b 86651 |
|
18-Oct-2000 |
rbb |
This begins to remove BUFF from the server. The idea is to go very slowly
with this. To begin with, we store both the socket and the BUFF in the
conn_rec. Functions are free to use which ever they want, in the end all
of the data goes to the same place. This modifies all of the MPMs except
Windows. All of the Unix MPMs are working, but the others need to be
tested. |
3d96ee83babeec32482c9082c9426340cee8c44d 86609 |
|
16-Oct-2000 |
wrowe |
Renamed all MODULE_EXPORT symbols to AP_MODULE_DECLARE and all symbols
for CORE_EXPORT to AP_CORE_DECLARE (namespace protecting the wrapper)
and retitled API_EXPORT as AP_DECLARE and APR_EXPORT as APR_DECLARE.
All _VAR_ flavors changes to _DATA to be absolutely clear.
Thank you Greg, for the most obvious suggestion. |
4c449c30215bd5e8bad122a4118f5a7b0e995472 86418 |
|
06-Oct-2000 |
wrowe |
Back out or finish up a few non-apr tests. Won't touch proxy at this
moment with a 10 foot pole. fs_dav is ok... the others need apr'ization |
1c65e34ff5b278afbc676c99cff3bf6c4fce2733 86417 |
|
06-Oct-2000 |
wrowe |
Completed review for new tests:
APR_STATUS_IS_EACCES(s)
APR_STATUS_IS_EEXIST(s)
APR_STATUS_IS_ENAMETOOLONG(s)
APR_STATUS_IS_ENOENT(s)
Where the old EACCES et. al. still exist, we have a problem (not yet
using APR at all)
More to come... |
0a61f90074837f6abc0d215519b6b4fbb7b08a0c 86179 |
|
08-Sep-2000 |
gregames |
Change prefork to use the same listen api as the rest of the unix mpms
(ap_setup_listeners). This eliminates the need to force a recompile of
listen.c when you switch to/from using prefork. |
443f96ac390c06ca4fa763d3bfcfbc8f757bd756 86136 |
|
23-Aug-2000 |
rbb |
Remove IOLs from Apache. They are no longer necessary, now that we have
filtering beginning to work. There is a hack that has been repeated
through this patch, we morph a pipe into a socket, and put the socket
into the BUFF. Everytime we do that, we are working with a pipe from
a CGI, and we should be creating a pipe bucket and passing that bucket
back. Because we don't actually have pipe buckets yet, we are using this
hack. When we get pipe buckets, this will be fixed. |
524ad1e9f859b1cc54590bdf0045855993b6a524 86133 |
|
22-Aug-2000 |
bjh |
APRize disabling nagle (setting TCP_NODELAY).
Note that several areas have not been tested as they apply to MPMs or APR
code that I can't test.
PR:
Obtained from:
Submitted by:
Reviewed by: |
10a4cdd68ef1ca0e54af296fe1d08ac00150c90b 86008 |
|
06-Aug-2000 |
wrowe |
Remaining cleanup of ap_ -> apr_ and AP_ -> APR_ transformation...
see src/lib/apr/apr_compat.h for most details.
Also a few minor nits to get Win32 to build.
PR:
Obtained from:
Submitted by:
Reviewed by: |
6ccc80786ac79c81965d9df753c1c19104954a95 85977 |
|
02-Aug-2000 |
rbb |
Convert all of the apr_listen.h to ap_listen.h. This was a side effect
of Doug M. big change last night. |
1ccd992d37d62c8cb2056126f2234f64ec189bfd 85976 |
|
02-Aug-2000 |
dougm |
prefix libapr functions and types with apr_ |
7ee91ff72d436322939066f98072cc4e9a672e5b 85970 |
|
01-Aug-2000 |
rbb |
Add a NO_DETACH environment variable to all MPMs that understand
ONE_PROCESS. This allows Apache to start up without detaching from
the controlling terminal, but also not going into single process mode.
The main purpose of this patch is to make it very easy to debug the
child process startup code.
PR: 2144 |
6cae819f27d17d0cae63edfa48839fc00ac6447c 85934 |
|
29-Jul-2000 |
rbb |
Remove iol_socket.h. This file had one declaration, and it makes more
sense for that declaraion to move to ap_iol.h. This also modifies all of
the files that include iol_socket.h to include ap_iol.h |
b6055b7832a0e4d0818416252fff5925aaebae4b 85867 |
|
21-Jul-2000 |
rbb |
Move all APR functions related to strings to their own directory, and
create a new header for those functions. This is the first step to
removing the apr/lib directory completely, and moving those files/functions
to descriptive directories. |
219a2f0f30226de71700a82f94a74ad76d19e1d3 85861 |
|
19-Jul-2000 |
trawick |
Make ap_child_init_lock() work properly... It didn't
call ap_unix_child_init_lock() at the right time, so any
lock mechanism which had interesting work to do (only flock())
was broken.
Fix the flock() flavor of ap_unix_child_init_lock(). It expected
to create the lock file when it should in fact open the existing
one. It also neglected to return the new ap_lock_t structure to
the caller.
Improve logging of lock init errors in prefork (I know, prefork is
a lame duck, but I used the improved logging in prefork to help
debug the problem). |
4e0e544abc732ca30b5f58c387a93d877cf51e24 85830 |
|
13-Jul-2000 |
gstein |
reverse the setup_listeners() change from a few days ago. it broke prefork
by not getting listenmaxfd set, nor listenfds. |
be0e6ea9b4676d85da9cde63fa9ae443d1560f54 85821 |
|
12-Jul-2000 |
stoddard |
#ifdef APR_HAS_OTHER_CHILD to #if APR_HAS_OTHER_CHILD. Not tested. |
57171f99f3ffb37c298355815d6d9b7cef76a985 85811 |
|
11-Jul-2000 |
rbb |
Move sock_disable_nagle to mpm_common.c. Rename it to ap_sock_disable_nagle.
Again, I tried to modify all MPMs that are currently using this code. |
9aa4b0b53f1b26086d04c51d77e742b698cfa653 85809 |
|
10-Jul-2000 |
rbb |
Move setup_listeners to listen.c. This renames it to ap_setup_listeners,
and removes the duplicated code from all effected MPMs. The only this
doesn't touch, is Windows. That MPM was using a different setup_listeners.
If one of the Windows guys would like to modify the WinNT MPM to use the
same setup_lsiteners, that would be VERY cool. |
9b07fdbae72923016406bb66e2875e3324722a6f 85808 |
|
10-Jul-2000 |
rbb |
Move process_child_status to mpm_common.c. This requires re-naming it
to ap_process_child_status and opening up ap_coredump_dir. I have
modified all of the MPMs that I saw using this function to work with this
patch. Sorry if I broke anybody. |
2e4d766fd4092fb697cc9e5c18ea3692b84f6071 85770 |
|
05-Jul-2000 |
stoddard |
Allocate iols out of the ptrans pool rather than mallocing them out
of the heap. The extra malloc/free is a significant performance
hit on some platforms and repeatedly alloc/freeing small chunks of storage
can fragment the heap. |
a72d21c8fa26402986e82b0caa0b14d1ca36ad21 85732 |
|
30-Jun-2000 |
rbb |
Combine some common code. Before this, all platforms implemented their
own iol_sockets using APR. This just combines all of that code to a
common file and moves that file to main. I have tested this with all of
the Unix MPM's, but I am willing to bet I missed something (Makefiles) for
Windows, and possibly moving some code for OS/2 and BeOS. |
d41217398f0e1031adbb6f5bd37f45737c805def 85723 |
|
28-Jun-2000 |
trawick |
Include strings.h for strcasecmp(), strncasecmp(), and bzero().
Include time.h for time().
This removes a bunch of compiler warnings with gcc -Wall on AIX.
Submitted by: Jeff Trawick, Victor Orlikowski |
17ba0764c7e0078dbff264acb69f31352811b957 85690 |
|
25-Jun-2000 |
rbb |
Since we are initializing the status variable, use the error code
specially set aside for that purpose. |
088ea6b762ee004c8de80ad2d4b76a60c79fc303 85689 |
|
25-Jun-2000 |
trawick |
Quiet an unhelpful gcc warning which said that stat might be
used before set. |
6e0c23c94478376306d87615a0641bcc5381c411 85682 |
|
24-Jun-2000 |
trawick |
Fix a few problems checking and logging errors in prefork. |
fcb4b6fc52ff67650c91bc9e20c7f9ad10e27001 85679 |
|
23-Jun-2000 |
trawick |
Fix a couple of problems associated with recognizing when file
descriptors for connected sockets are too big.
Todo: The BeOS MPMs seem to have the same issue. |
f215962af6cbcd23363f0124452ddeda09b9a5a2 85663 |
|
23-Jun-2000 |
rbb |
Remove select checks from Apache config. These checks were used to define
ap_select in ap_config.h. The only file that used ap_select() was
prefork.c. I have modified prefork.c to use select instead of ap_select.
In the future, this should be modified to use ap_poll like the rest of the
Unix MPMs. There are other MPMs that are continuing to use select, but this
too should change in time. |
afb1a0205971478b2438d5ab901faa0eb7572288 85652 |
|
22-Jun-2000 |
dreid |
Add the ap_get_max_daemons to dexter, prefork and spmt_os2 MPM's. The only
one now lacking it is winnt, but that'll need someone form the winnt camp
to sort out. |
40a4fa05efec54cc23f9f12272b3f204e746c0ed 85645 |
|
21-Jun-2000 |
trawick |
Fix error messages issued from MPMs which explain where to change
compiled-in limits (e.g., ThreadsPerChild, MaxClients, StartTreads).
missing: the same minor changes for the 2nd BeOS MPM
Submitted by: Greg Ames
Reviewed by: Jeff Trawick |
a017b39c5ddc65bd8217cb69f3dc06378da941ee 85635 |
|
20-Jun-2000 |
rbb |
Remove unixd_detach function, because it is provided by APR as ap_detach.
This also modifies the ap_detach function to look like unixd_detach.
Finally all calls to unixd_detach are changed to ap_detach. |
446b315c95f0f7c84e8478f30e449545538777de 85612 |
|
19-Jun-2000 |
trawick |
Use the new command-handler initializer macros in prefork;
clean up the resulting warnings. |
48d7c43629323c8d5ee9f7bd0d194de0a376b391 85558 |
|
13-Jun-2000 |
rbb |
Protect system header files with the appropriate macros. |
d4f1d9c1ff112a8ab9bee31f196973761329b236 85553 |
|
12-Jun-2000 |
rbb |
Clean up a big chunk of ap_config.h. This basically stops ap_config.h from
including any files. Because of this change, other files must include
their own headers. I also cleaned up a couple of other bugs in some
modules because I had to compile them all.
I expect this to break multiple platforms, but this will be fixed over time.
The massive configure cleanup is almost done. I will go through the files
one more time after this commit. |
6a07be8f4d69cf6936e340975cf8ec25c01774b9 85535 |
|
12-Jun-2000 |
rbb |
Remove the final vestiges of stat.h from Apache 2.0. All calls are now to
ap_stat. This also adds the new function ap_lstat(). This function is
analogous to lstat. |
d73fd8840eec47b0b09504ed8e58474f971b0ef0 85495 |
|
10-Jun-2000 |
dgaudet |
fix nagle |
12262801ada95ad0da1652449be23d7d86778e7a 85479 |
|
09-Jun-2000 |
trawick |
The prefork MPM now uses an APR lock for the accept() mutex.
It has not been getting a lock at all recently.
Note: The TPF and SGI folks need to each APR how to get the most
efficient lock on those platforms. (For SGI it depends on whether
or not we're building for SMP.) |
87e0da4e1eabf35b0b2a48a9290c5e725854de8f 85463 |
|
08-Jun-2000 |
rbb |
Remove all occurances of gettimeofday. Replace it with ap_now which
provides the same function but works cross-paltform. |
f38c43f9ec3b63dc40bdb7132ff4975bd4c9ae9c 85378 |
|
02-Jun-2000 |
rbb |
Add pre_config hooks back in for all modules. This is important for the
server tokens code that is coming soon. |
e68becff3c3ddc18723c9799b8cc2e6e9c3dbd66 85318 |
|
28-May-2000 |
wrowe |
PR:
Obtained from:
Submitted by:
Reviewed by:
Reverse out all _EXPORT_VAR changes back to their original _VAR_EXPORT
names for linkage (API_, CORE_, and MODULE_). |
3a40b7d82613e316950b86018a6d09b1605697a2 85311 |
|
27-May-2000 |
wrowe |
Pass the process_rec to the MPM to allow rewriting of the args list.
Especially necessary under Win32, or other non-unix front ends where
oddball arguments might be required, but without causing a mess in
http_main.c. |
30c289e6bc6d28d210b21edd800ab2cfc78a8381 85309 |
|
27-May-2000 |
wrowe |
This patch corrects the issues from the AP_EXPORT and linkage
specification arguments to the ap_hooks.h declarations. As with
the APR_ and AP_ patches, API_VAR_EXPORT becomes API_EXPORT_VAR,
and MODULE_VAR_EXPORT becomes MODULE_EXPORT_VAR.
I will be happy to revert the inclusion of ap_config.h from
httpd.h if this bothers anyone. More individual modules need
to be patched if we do so.
The API_EXPORTs all moved into central storage in the ap_config.h
header. Without WIN32 or API_STATIC compile time declarations,
these macros remain no-ops.
This patch also moves the following data from http_main to http_config:
const char *ap_server_argv0;
const char *ap_server_root;
ap_array_header_t *ap_server_pre_read_config;
ap_array_header_t *ap_server_post_read_config;
ap_array_header_t *ap_server_config_defines;
And the following variables had already moved into ap_hooks.c:
ap_pool_t *g_pHookPool; (initialized now in http_config)
int g_bDebugHooks; (out of http_config)
const char *g_szCurrentHookName; (out of http_config)
The changes to http_main.c are in preparation for that module to
move out to a seperate .exe for win32. Other platforms will be
unaffected, outside of these changes. |
383286594d0fb52cb4a57c05615a3377ecfe3514 85290 |
|
24-May-2000 |
trawick |
Clear up some int vs. pid_t issues in prefork to keep compiles clean
on Solaris. |
b45d23f6447d0ef66da0c335a2e450f013819b5a 85286 |
|
24-May-2000 |
rbb |
Fix a memory leak with ap_wait_or_timeout. |
984d71a5392cf20a428ca89bd0464611bb3db6a9 85279 |
|
23-May-2000 |
rbb |
Convert ap_proc_t to a complete type. This lets us access the pid directly.
Only the prefork MPM has been ported so far, the rest of the Unix MPM's are
coming later today. |
5df8b96f15bc4f4e552cb635681e053f9eff0d3e 85258 |
|
19-May-2000 |
fielding |
Fix warnings on use of common prototypes. Fix bug of printing a
pointer to proc_t instead of the actual pid on error.
Submitted by: Jeff Trawick, Roy Fielding |
b25cd715f3ef9238d495d4103cfe9e850972480c 85250 |
|
19-May-2000 |
rbb |
Move wait_or_timeout from the MPM's into the new mpm_common.c file. I
also renamed wait_or_timeout to ap_wait_or_timeout for namespace
protection. |
c42ccf48451f7920b2fb390322c3ef4d89df4a17 85249 |
|
19-May-2000 |
rbb |
First function removed from Unix MPM's and moved to a common file. This
work is not anywhere near finished, but the cleanup has begun at least.
Had to make a couple of variables non-static, so a name change was required
since they are now viewable from outside the library. The advantage to this
is code that is much easier to maintain into the future, because it is
duplicated less often. |
99f98d3240957bfe6ec65fa341cbceb888b059b7 85243 |
|
18-May-2000 |
trawick |
Fix problem where the Unix mpms had an unitialized variable for
child exit status by adding an exit status parameter to
ap_wait_all_procs(); with this change, the mpms use
ap_wait_all_procs() more like they previously used waitpid().
With the introduction of the exit status parameter, the definition
of ap_wait_t was moved from Apache to APR. There was some handling
of union wait for the type of the exit status parameter to waitpid()
which I retained (but cannot test). For WIN32, ap_wait_t was defined
as int (in apr.hw). No current Windows code uses ap_wait_t, but a
type is required so that references to ap_wait_t in apr_thread_proc.h
can compile on Windows.
Note: There is still a storage leak in the way that the Unix mpms call
ap_wait_all_procs()... this will be resolved at some later time. |
8009814046f28be53c9c61f101b51d15b2b29ce5 85194 |
|
11-May-2000 |
stoddard |
Create new function, ap_lingering_close(), which will explicitly do a lingering close
if USE_SO_LINGER is not defined. Move responsibility for closing connections out
of http_connection.c and into the MPMs. |
b82089c85a796d6e047ccf2c97e872adec1475d7 85192 |
|
11-May-2000 |
trawick |
repair some compile warnings, axe a wasted getsockname() call and
some unnecessary local vars, fix bug in a rare trace of a pid |
d7150b84735ff36eeb3cde9c79ab2e69ee7ffd67 85137 |
|
04-May-2000 |
rbb |
Port reliable piped logs to mpmt_pthread and dexter. Also a couple of small
cleanups for reliable piped logs. |
7f1290cbf118bf3d34aecc68cff2e5bd0a23e126 85136 |
|
04-May-2000 |
rbb |
Make reliable piped logs work on 2.0. |
b5aed57c02a923d92b17122fa780bb5f2f14801d 85081 |
|
28-Apr-2000 |
dougm |
back out APR_ prefix for TRUE,FALSE |
89bde6084c4cb2c9304abb2a4a472a4428665d7a 85074 |
|
28-Apr-2000 |
dougm |
prefix TRUE,FALSE with APR_ |
b9714dbac94b98d50b9bc8282a6a992f2e4c7ad8 84967 |
|
14-Apr-2000 |
rbb |
apr_config.h is a private include file, and shouldn't be used by any
C files outside of APR. ap_signal has been moved to apr.h, so this
include is no longer needed. |
404e2e1f8ad30c2d996f5fb6b3a9a4a4a14a004b 84963 |
|
14-Apr-2000 |
rbb |
Change ap_context_t to ap_pool_t. This compiles, runs, and serves pages
on Linux, but probably breaks somewhere. |
3acec63263b6e3dc7492ad7644db33959f514480 84932 |
|
06-Apr-2000 |
trawick |
Change the declaration of ap_scoreboard_image to match
the one in scoreboard.h (API_VAR_EXPORT instead of static). |
07fcce220d1d0801bd38de5a85af72668c9761e0 84914 |
|
05-Apr-2000 |
trawick |
stop relying on a macro to map signal() to ap_signal(); call
ap_signal() directly |
8ddbf971dc2d578bb7cc5d753e9bcda5852d5888 84913 |
|
05-Apr-2000 |
rbb |
The Unix MPM's now use the other_child logic from APR. |
ab2c1c1c83ec91415565da5a71fbc15d9685caa6 84879 |
|
31-Mar-2000 |
fielding |
Update to Apache Software License version 1.1 |
6cfef4069051100dce381e986e8e2471f15c97d1 84865 |
|
30-Mar-2000 |
rbb |
A very first shot at implementing the status API for the prefork mpm.
This is without a doubt a bad implementation, but it works, and the
server compiles with mod_status enabled. |
62167363bf04c4df7b6a055c6143552212ffcee3 84862 |
|
30-Mar-2000 |
rbb |
Put the pre_config hook back into the table. This solves the problem of
the pre-config hook only being valid for MPM's. This patch also
distinguishes between STANDARD modules and MPM's. |
45a4fd5affcf61dcb27b2e2a13c9daddbc4bcefd 84789 |
|
17-Mar-2000 |
rbb |
Update the prefork mpm with the new ap_shm_init prototype. |
64185f9824e42f21ca7b9ae6c004484215c031a7 84725 |
|
10-Mar-2000 |
rbb |
Fix all the License issues. Including:
s/Apache Group/Apache Software Foundation/
s/1999/2000/
s/Sascha's license/ASF license |
918570c76769cbfedd137f00544643b37b53e56b 84698 |
|
02-Mar-2000 |
dgaudet |
clean up a bunch of -Wall/etc warnings |
acd23a5d44bf6b6a966a310b1c36314335a33368 84609 |
|
11-Feb-2000 |
rbb |
Make the prefork MPM use APR shared memory for it's scoreboard. |
2d71630471d1c23f0137309e3c3957c633ecbfd6 84531 |
|
28-Jan-2000 |
rbb |
Include ap_config.h before httpd.h, this ensures that AP_USE_HSREGEX is
defined correctly in all C files. |
b0f20a4a26bcfa85724b1c2e5ec6a077f12ef44c 84493 |
|
19-Jan-2000 |
rbb |
Finish the commits for the change in the header files. Basically, this hides
all of the Apache macros that modules don't need access to. This should
have been committed with the modules, but I wasn't paying attention to the
directory I was in when I ran the commit.
Submitted by: Manoj Kasichainula and Ryan Bloom |
6ca0e6973c8176100f4a426444823ae5e777e28f 84423 |
|
11-Jan-2000 |
sascha |
These changes are committed together, because they depend on each other.
- shared modules can be built in the tree
- added support for --with-layout, uses APACI's config.layout
- working 'make install'
- working 'make depend'
- working Pthreads checks
- buildconf replaced |
9ede6357edc9aff1fb2f7edebefab473673298aa 84393 |
|
04-Jan-2000 |
rbb |
Initialize all ap_file_t's to NULL. This allows ap_open and ap_stat to
work together without causing memory leaks. |
1465b960f95b4afba4f4221054dd09e11509bd40 84386 |
|
31-Dec-1999 |
rbb |
A few more tweaks to finish the modules work. Now, all of the modules
compile correctly with Apache 2.0. This does run, but it hasn't been tested
any more than simply compiling and running the server. |
48c358ffac97bb307302a9aa2e7c799be7556db4 84375 |
|
30-Dec-1999 |
sascha |
Fall back to save values for SHM_R and SHM_W, if the system does not
define them. |
737dd1cf506ab9f8e7a39ccf65556623f0c1cb0e 84297 |
|
15-Dec-1999 |
rbb |
Getting rid of more warnings in the prefork mpm. |
caa1752d48705ad1bfba54d8b47354e4073249eb 84292 |
|
14-Dec-1999 |
rbb |
Make prefork compile. |
8a83839471ad6ee0fd34db83fab7e7740a231d70 84217 |
|
03-Dec-1999 |
manoj |
The Unix MPMs were depending on APR for signal.h, and broke. Add an
explicit #include for it back in. |
0b6ff374d0c9942c5f94f5ef3c2f72a72da5af9d 84199 |
|
01-Dec-1999 |
manoj |
Get rid of ap_check_signals() in all but the prefork MPM, and #define it
away there. It's a TPF-specific piece that will likely go into a TPF
MPM. |
8d6907fd72855909a91eadeba1b1f20ab6f23926 84193 |
|
30-Nov-1999 |
manoj |
Deal with times() properly in autoconf. This also changes NO_TIMES to
!HAVE_TIMES. |
7b85491921b9bfae551088fad57aa683fb108311 84186 |
|
30-Nov-1999 |
manoj |
The first part of the big autoconf patch. This replaces a bunch of
NEED_* macros with HAVE_* macros to be more consistent with autoconf. |
cb5a017cbad1e36dc501d8afc65636b8c2edf2d8 84138 |
|
19-Nov-1999 |
rbb |
Remove the ap_thread_mutex code from all MPM's. This code isn't actually
being called anywhere, and I have compiled dexter, mpmt_pthread, and
prefork without it. Away it goes. |
407cde44becba3694e7c3d81ac99b5d86f4b03a9 84135 |
|
19-Nov-1999 |
rbb |
Finish the conversion from fprintf(stderr -> ap_log_err. |
0d281502553310060615306fb6ca92b2f4f97d7a 84128 |
|
16-Nov-1999 |
rbb |
Cleanup the ZZZ comments. Basically these used to mark places where APR
is needed. It is much easier to do this conversion by hand than by
searching for old comments, so they are going away now. |
dc80e01ad088c646328bd3cf7e8889279f2003a5 84120 |
|
15-Nov-1999 |
rbb |
Moving Unix socket IOL's to use APR. Also fixed a small bug in ap_recv.
We should NEVER return a status of APR_EAGAIN and say -1 bytes read. This
can cause some strange bugs. |
0e7ff2893742d96fadb4a0ec0efdf733c6eddc4b 84113 |
|
09-Nov-1999 |
ben |
Fix error logging calls (kinda). |
5f1e7b861e4712d19165cbb6c8bc0a0b79b8f32f 84031 |
|
24-Oct-1999 |
bjh |
Add a context parameter to ap_accept() for the connection socket to be
allocated from. This is needed because the lifetime of a connection is
ususally much shorter than that of the listen socket. Only tested on
OS/2. |
4d1b5d1da2179483851ba32a475d41fee355450f 84030 |
|
24-Oct-1999 |
bjh |
Fix an ap_log_error() call. |
acf57b44f2f61797023f7e9c2606cebf07f73d08 84029 |
|
24-Oct-1999 |
bjh |
Enhancements for APR network_io. Adds separate local/remote access methods for
a socket's port, IP address and sockaddr_in.
Updates for Apache code to use these, allowing the correct IP address of
clients to be logged. |
0942697a9b5de44865676345a3828741c827efe6 84007 |
|
20-Oct-1999 |
rbb |
Add a status value to ap_log_error and ap_log_rerror. This allows us to use
apr_status codes in our error logs. The main advantage of this, is portable
error codes. Now, Windows will finally be able to use errno! |
0c9a934def126ac34fd6bfc8d25c5cb763ef126d 83996 |
|
14-Oct-1999 |
rbb |
I missed one function when swapping paramters. This fixes it. I think I
have caught them all this time. I really hope this is the final time I have
to swap parameters. |
c1dbde4b53268068e0de06c644bb405d3a4071cd 83988 |
|
13-Oct-1999 |
bhyde |
Redundent and out of synch global. |
fa6c4d402d56d13f8b46c68d8134408cba4809fa 83985 |
|
13-Oct-1999 |
manoj |
My connection status patch broke all the MPMs that didn't have
connection status support yet. For now, throw in stub functions so that
the server compiles. |
fc9b2e8809c305f340d86a789566f8abb1ca8a19 83970 |
|
12-Oct-1999 |
martin |
Remove most of the annoying "re ap_context_t mplement" mis-replacements
by what I think is their real meaning. Guys, I didn't verify all of this,
please have a close look at my "fixes". Thanks. |
9d2cce0e485f8d7156bda51b8b21e85703988438 83956 |
|
10-Oct-1999 |
rbb |
Bring network code to the parameter order spec. This means contexts go last,
and result parameters go first. Also fixed a small bug in the Makefile. We
should be removing the libs dir when we do a distclean, we are now. |
b0ac5409eaf834534942209487c02648ec2c3190 83948 |
|
08-Oct-1999 |
manoj |
Make prefork's setup_listeners looks like the others'. |
856cd04dde6122606dffc1c3c11200cdb1ea146e 83943 |
|
07-Oct-1999 |
bhyde |
Well this was thought provoking.
Drive out the use of malloc in two places.
In listen.c, using the global process pool instead. That changes the
API into listen so that a process is passed in rather than the config
pool. That's all was easy.
The pain is propogating a change into all N of the mpm, they
are all similar but different in their use of listen.c There
is a lot to dislike about similar but code scattered code.
I changed the N setup_listener routines, they now take only
the server since they can dig the config and global pool
out of there.
Free today: ap_setup_prelinked_modules now takes the process so it
can allocate it's table in the process's pool rathern than use
malloc. |
70a2c0407879c11b29adc782d1665a0131f30b3f 83937 |
|
07-Oct-1999 |
rbb |
Bring file_io up to the new parameter order for APR. I have decided to do
these on a directory by directory basis for the rest of APR. I hope to
cause fewer problems for other developers by doing it this way. |
6a1dd43c955df435907954a1022191de6f43bbb4 83934 |
|
05-Oct-1999 |
ben |
Use new parameter orders. |
d936d7dcfc1a35dec2a026d23053f8230301cdff 83927 |
|
04-Oct-1999 |
rbb |
First patch to re-order function parameters. This one gets the low hanging
fruit, and moves most of the result parameters to the first argument.
Future patches in this series will move the rest of the result parameters
to the beginning of the list, and will move the context's to the end of the
list |
9e367f2ac1cbf6b88917e895947c79fe48f6607e 83901 |
|
14-Sep-1999 |
rbb |
A change to how APR uses user data. Now, user data is a linked list that
is retreivable using a char string. Basically, you provide a string that
will be used as a key when you store the data. If the key was used before,
we will overwrite the old data. When you want to retreive your data, pass
in the same key, and we will find the data you care about. This also makes
it harder to put user data in when creating a context, so that option has
disappeared. It is also impossible to inherit user data from parent contexts.
This option may be added in later. I will be documenting this VERY soon. |
69149c9361cb982630063af3c70744e49bd7e85b 83890 |
|
11-Sep-1999 |
ben |
Make prefork compile on FreeBSD. |
ab5581cc78e9d865b0a6ab1404c53347b3276968 83879 |
|
08-Sep-1999 |
rbb |
Remove all of the calls to functions like "ap_popenf". These functions were
moved down to APR, but they are being removed. They are not portable, and
were only moved down for backwards compatability. With this change, they can
be safely removed, which is the next commit on it's way.
Submitted by: Ryan Bloom and Paul Reder |
b4c8a80f7dbfc9b56dbe03bdc28f0b5eb5f23697 83852 |
|
31-Aug-1999 |
rbb |
Changed pools to contexts. Tested with prefork and pthread mpm's. I'll
check this out tomorrow and make sure everything was checked in correctly. |
78d5a5465d8fbeae1266bece4f925466018cbe52 83840 |
|
28-Aug-1999 |
jim |
Remove some shadowing
warnings. Avoid some possible confusion as well :) |
1d3f4403cac67a4d18272ec9a9018128c578b997 83680 |
|
15-Aug-1999 |
ben |
Child initializer hook. |
64fe2907c3277c9b0c27bcb68bf935dc186c2162 83679 |
|
15-Aug-1999 |
ben |
Auth checker hook |
af878d981838de777d34f6226393266d39697464 83678 |
|
15-Aug-1999 |
ben |
Access checker hook. |
22cba9bd9312311c1bcccb28d93e3890106ac57f 83669 |
|
13-Aug-1999 |
manoj |
Move the ap_sys_siglist code from the Unix MPMs to unixd.[ch] |
0c383b0b8c502f6be34c08a67832a357ce1c4e6d 83662 |
|
13-Aug-1999 |
manoj |
Add a connection ID to conn_rec. It uniquely identifies a connection at
any instant in time. It's not very well tested yet. |
c0034020aeae93c2d33b65dfdc5fa9eda7c24370 83587 |
|
06-Aug-1999 |
dgaudet |
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. |
1c8b2c58dbb2bb16b09ff7af4be2b67c18b8e309 83581 |
|
05-Aug-1999 |
manoj |
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. |
f69241e2196069d3b101d90dae22dcb0b322e54e 83548 |
|
01-Aug-1999 |
ben |
Another hook. |
0f917aa092dd361fc4ee6482895ba5e9765ffde8 83547 |
|
01-Aug-1999 |
ben |
Another hook. |
07afa9bf546b1619bb1fe7f7862f95e0c7e5abf3 83516 |
|
27-Jul-1999 |
ben |
Another hook (I won't be upset if someone else wants to do some!). |
f0dd8b253c83ad4240119bf68f92a0b1b68c3d24 83513 |
|
27-Jul-1999 |
ben |
Fix a warning. |
cc910c475085f94bd30fc1b6e16363872424f780 83512 |
|
27-Jul-1999 |
dgaudet |
- get rid of pre_command_line_hook ... use register_hooks for this purpose
- get rid of optreset... screw -D, use environment variables ONE_PROCESS,
SHOW_HOOKS, DUMP_VHOSTS, ... at least it builds this way :) |
5b7843ef699ef7adaa3faae1cf80cd488eb38a02 83503 |
|
25-Jul-1999 |
ben |
Make sure we terminate. |
63885131e3ae973002c8cd1631dbdb7a94acd48c 83502 |
|
25-Jul-1999 |
ben |
Good grief! How hard is it to try _all_ the elements in a list? |
0eae592326e5d02783fb10d241fe7040e1447ef6 83499 |
|
24-Jul-1999 |
ben |
Another hook. |
4b6585c2fe3c70fec25f3659d9c7dddd663a790d 83498 |
|
24-Jul-1999 |
ben |
Another hook. |
a4c90008220bfa1c6e05f029dfe9e8dea3043c28 83496 |
|
24-Jul-1999 |
ben |
Fix listener selection logic. |
feda937a42dc2726914efe6a6bf4417343825225 83462 |
|
17-Jul-1999 |
ben |
Another hook. |
546ab7ed4cd7df920aef1b4d6487d95d6036ebc6 83459 |
|
16-Jul-1999 |
manoj |
Move HARD_SERVER_LIMIT, HARD_THREAD_LIMIT, and other defines from
httpd.h that are really mpm-specific, and move them into a header file
in each MPM directory. |
502713e686edb49a826b4dcafb34bd67d27015e8 83457 |
|
13-Jul-1999 |
manoj |
Move the scoreboard header files for each MPM into the appropriate MPM
subdirectories:
src/include/scoreboard.h -> src/modules/mpm/mpmt_pthread/scoreboard.h
src/include/scoreboard_prefork.h -> src/modules/mpm/prefork/scoreboard.h |
98dac38dc670289aa183c6ebe91d4109bdcc1a95 83452 |
|
11-Jul-1999 |
ben |
Another hook. |
28ca0ded52dd6d069db27182559b54cbcc7bc893 83449 |
|
11-Jul-1999 |
ben |
Add topological sorting to hook ordering. |
fd5a10519c6cebaa0b5b80bc23ae0c91d9779753 83435 |
|
06-Jul-1999 |
ben |
More hooky stuff. |
3133e3c2cc6f7890425e760f1550690160f912ae 83422 |
|
02-Jul-1999 |
manoj |
Use ap_new_connection in pthread MPM. This required adding an argument
to ap_new_connection for now: thread_num. |
6dfd8d3d42b28c3e2af5dd8778767cf5e98c28a9 83398 |
|
29-Jun-1999 |
ben |
New API for I/O layering, and dependency updates. |
2f69b3a1ddfc98129119e7b5d9b49f30c6f40bc7 83389 |
|
26-Jun-1999 |
ben |
If last_lr is the last listener, then lr can start out NULL. |
dc9d4f49d36e64c0157d930cb22ca82a6291c0cb 83385 |
|
25-Jun-1999 |
dgaudet |
- ap_listen.h: interface to Listen, ListenBackLog and SendBufferSize
directives
- I didn't update mpmt_pthread with this change, it shouldn't be hard to fix.
- maybe this isn't the best way to abstract listen... but it gets a little
bit of the job done |
81deb7d9f6c2c18fc78d0fdaf1edcf06a2a28187 83375 |
|
24-Jun-1999 |
dgaudet |
I think this is a better i/o layer interface.
- move main/iol_unix.c to os/unix/iol_socket.c
- create main/iol_file.c ... use APR methods eventually
- remove iol_data from ap_iol, instead the ap_iol is just embedded into
the private data of the i/o layer
- remove ap_bpushfd(), replace with ap_bpush_iol() |
be0e98a4dd7a3b4f04ab25513d814f31ab6729e9 83373 |
|
24-Jun-1999 |
dgaudet |
new-fangled BUFF... this could easily be broken, but hey, the one that
was in here before was broken in different ways... I've served up a few
pages with this one. |
3a3d6060948b6fd3a0e127db51177a05a2d7941f 83372 |
|
24-Jun-1999 |
jim |
Consistant and shorter naming
of MPM methods implemented. |