You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by st...@apache.org on 2001/05/17 14:36:11 UTC
cvs commit: httpd-2.0/server/mpm/winnt mpm_winnt.c
stoddard 01/05/17 05:36:11
Modified: . CHANGES
server/mpm/winnt mpm_winnt.c
Log:
Win32: Enable reliable piped log support.
Revision Changes Path
1.201 +5 -0 httpd-2.0/CHANGES
Index: CHANGES
===================================================================
RCS file: /home/cvs/httpd-2.0/CHANGES,v
retrieving revision 1.200
retrieving revision 1.201
diff -u -r1.200 -r1.201
--- CHANGES 2001/05/16 13:49:32 1.200
+++ CHANGES 2001/05/17 12:36:00 1.201
@@ -1,4 +1,9 @@
Changes with Apache 2.0.18-dev
+ *) Win32: Add support for reliable piped logs. If the logging process
+ goes down, Apache will automatically restart it. This function has
+ been part of Apache on Unix/Linux/BSD since the early v1.3 releases.
+ [Bill Stoddard]
+
*) Do not start piped log processes during the config file
preflight. This change also circumvents a problem on
Windows where the rotatelog processes created during preflight
1.158 +2 -5 httpd-2.0/server/mpm/winnt/mpm_winnt.c
Index: mpm_winnt.c
===================================================================
RCS file: /home/cvs/httpd-2.0/server/mpm/winnt/mpm_winnt.c,v
retrieving revision 1.157
retrieving revision 1.158
diff -u -r1.157 -r1.158
--- mpm_winnt.c 2001/04/13 19:00:39 1.157
+++ mpm_winnt.c 2001/05/17 12:36:05 1.158
@@ -1060,7 +1060,7 @@
* number of completion contexts, etc.)
*/
while (1) {
- rv = WaitForMultipleObjects(2, (HANDLE *) child_events, FALSE, INFINITE);
+ rv = WaitForMultipleObjects(2, (HANDLE *) child_events, FALSE, 1000);
cld = rv - WAIT_OBJECT_0;
if (rv == WAIT_FAILED) {
/* Something serious is wrong */
@@ -1069,10 +1069,7 @@
break;
}
else if (rv == WAIT_TIMEOUT) {
- /* Hey, this cannot happen */
- ap_log_error(APLOG_MARK, APLOG_CRIT, APR_SUCCESS, server_conf,
- "Child %d: WAIT_TIMEOUT -- shutting down server", my_pid);
- break;
+ apr_proc_other_child_check();
}
else if (cld == 0) {
/* Exit event was signaled */