properly initialized.
Move ap_restart_time into the scoreboard global area so the child process
on non-forking platforms can have access to it.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93502 13f79535-47bb-0310-9956-ffa450edef68
pointer math. This is required for portable scoreboards.
vhost becomes the 'vhost name string' so it now survives ap_generation
clicks. next was apparently never used.
This patch also accounts for the changes to the apr_shm api, and gives
Win32 the magic of a shared scoreboard.
Breakage aplenty on non-win32 platforms, I suspect, but this radical
surgery, and culling of unused functions, was really, really needed.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92791 13f79535-47bb-0310-9956-ffa450edef68
and instead use the mpm query function to retrieve those limits and
use those dynamically-retrieved values when walking the scoreboard.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92510 13f79535-47bb-0310-9956-ffa450edef68
causing the server not to start.
previous method was to call exit(1) which would not fail
gracefully
PR:
Obtained from:
Submitted by:
Reviewed by: (Idea only Jeff Trawick)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92144 13f79535-47bb-0310-9956-ffa450edef68
it is necessary to check for the generation as well as "quiescing", in the
case of a restart where no workers have seen the PoD yet.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89821 13f79535-47bb-0310-9956-ffa450edef68
"requests currently being processed" or "idle" counts
also, change term from "servers" to "workers" - servers sounds like what
you call the whole thing
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89820 13f79535-47bb-0310-9956-ffa450edef68
XHTML 1.0 legibility. One XHTML issue remains, <td nowrap>, which has
an issue that "attribute minimization is not supported in XML". Since
?notables drops that thorny issue, I'm ignoring this for now.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89752 13f79535-47bb-0310-9956-ffa450edef68
no idea what exactly this computation was trying to accomplish...
req_time = (long)(((ws_record.stop_time - ws_record.start_time) * 1000)
+ ((ws_record.stop_time - ws_record.start_time) / 1000));
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89712 13f79535-47bb-0310-9956-ffa450edef68
being indexed by worker slot during initialization, then by process slot when
generating output.
This saves a little storage and a few cycles, too.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89534 13f79535-47bb-0310-9956-ffa450edef68
output
I don't have 100% confidence in my guess as to why some of the state labels
are in bold and some aren't (e.g., "<b>Write</b>" vs. "Graceful". Hopefully
any rhyme or reason to it is maintained with my change.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89249 13f79535-47bb-0310-9956-ffa450edef68
workers when counting the number of requests being processed
we won't count such workers as idle either, since they aren't available
to process new requests
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89248 13f79535-47bb-0310-9956-ffa450edef68
. get the SS field in extended status output formatted correctly
(seconds since beginning of request shouldn't be a huge
negative number :) )
. use APR_OS_PID_T_FMT and pid_t where appropriate in mod_status
to avoid casting, some of which may have been broken on some
architectures
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89048 13f79535-47bb-0310-9956-ffa450edef68
The line
int indx = (i * HARD_THREAD_LIMIT) + j;
in the vicinity of the change was bad; k needed to be added
instead of j.
I swapped the use of j and k in this section so that i and j
had the same meaning as in an earlier nested loop. I suspect
that the difference in meaning is what led to the bug.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88397 13f79535-47bb-0310-9956-ffa450edef68
interval_time. The segfault is caused by apr_vformatter not understanding
%lld, so we also had to change that to %qd, which solves that problem.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88176 13f79535-47bb-0310-9956-ffa450edef68
Obtained from:
Submitted by:
Get req/sec and bytes/sec status reporting working. Still lots of type
warnings but this is a bit better than before.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88152 13f79535-47bb-0310-9956-ffa450edef68
the ability to use IPC other than shared memory.
Get mod_status working on Windows again.
Still to do:
Rename some of the function APIs. Replace all calls to reinit_scoreboard with
ap_create_scoreboard. Add back in support for scoreboard files.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87959 13f79535-47bb-0310-9956-ffa450edef68
basically a straight port of the 1.3 module to 2.0. The MPMs need to be
modified a bit to work with mod_status, but prefork, mpmt_pthread, and
dexter have already been changed. I will fix perchild tonight. There
is a lot of common code that can be abstracted, and there seems to be a
small bug with regard to what mpmt_pthread and dexter report as current
connections. ExtendedStatus does work again, although until the bug
mentioned above is fixed, it isn't as useful on mpmt_pthread and dexter.
Next week, I will look at allowing other modules to add data to the
STATUS page and possibly to the scoreboard itself.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87949 13f79535-47bb-0310-9956-ffa450edef68
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.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86609 13f79535-47bb-0310-9956-ffa450edef68
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_).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85318 13f79535-47bb-0310-9956-ffa450edef68
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.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85309 13f79535-47bb-0310-9956-ffa450edef68
protects most, if not all, of the Apache macros. This has been tested on
Linux using all of the Unix MPM's. The biggest push was that Apache's
httpd.h header file can no longer include the ap_config.h file. Most of the
other files include this themselves now.
Submitted by: Ryan Bloom and Manoj Kasichainula
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84492 13f79535-47bb-0310-9956-ffa450edef68
- ap_time_t is a 64-bit scalar, microseconds since epoch
- ap_exploded_time_t corresponds to struct tm with a few extras
probably broken on anything except linux.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84413 13f79535-47bb-0310-9956-ffa450edef68
compile correctly with Apache 2.0. This does run, but it hasn't been tested
any more than simply compiling and running the server.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@84386 13f79535-47bb-0310-9956-ffa450edef68
scoreboard. It allows MPMs to implement their own mechanism for the
status table and allows any module to add its own per-connection status
entries.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83982 13f79535-47bb-0310-9956-ffa450edef68