Loading STATUS +0 −7 Changes for STATUS: 0 added lines, 7 removed lines. Original line number Diff line number Diff line Loading @@ -112,13 +112,6 @@ CURRENT RELEASE NOTES: RELEASE SHOWSTOPPERS: * core log.c: Work around possible solutions rejected by apr for the old implementation of apr_proc_create(), and explicitly pass the output and error channels to all log processes created. This goes all the way back to piped logs failing to run on win32. Not in or needed at trunk/, as apr 1.3.0 has the proper fix. http://people.apache.org/~wrowe/httpd-2.0-2.2-procattr-bugfix-log.c.patch +1: wrowe, rpluem, jim PATCHES ACCEPTED TO BACKPORT FROM TRUNK: [ start all new proposals below, under PATCHES PROPOSED. ] Loading server/log.c +12 −3 Changes for server/log.c: 12 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -267,7 +267,7 @@ static int log_child(apr_pool_t *p, const char *progname, apr_status_t rc; apr_procattr_t *procattr; apr_proc_t *procnew; apr_file_t *errfile; apr_file_t *outfile, *errfile; if (((rc = apr_procattr_create(&procattr, p)) == APR_SUCCESS) && ((rc = apr_procattr_io_set(procattr, Loading @@ -284,8 +284,11 @@ static int log_child(apr_pool_t *p, const char *progname, pname = apr_pstrdup(p, args[0]); procnew = (apr_proc_t *)apr_pcalloc(p, sizeof(*procnew)); if (dummy_stderr) { if ((rc = apr_file_open_stdout(&errfile, p)) == APR_SUCCESS) if ((rc = apr_file_open_stdout(&outfile, p)) == APR_SUCCESS) { rc = apr_procattr_child_out_set(procattr, outfile, NULL); if (dummy_stderr) rc = apr_procattr_child_err_set(procattr, outfile, NULL); else if ((rc = apr_file_open_stderr(&errfile, p)) == APR_SUCCESS) rc = apr_procattr_child_err_set(procattr, errfile, NULL); } Loading Loading @@ -888,6 +891,12 @@ static apr_status_t piped_log_spawn(piped_log *pl) else { char **args; const char *pname; apr_file_t *outfile, *errfile; if ((status = apr_file_open_stdout(&outfile, pl->p)) == APR_SUCCESS) status = apr_procattr_child_out_set(procattr, outfile, NULL); if ((status = apr_file_open_stderr(&errfile, pl->p)) == APR_SUCCESS) status = apr_procattr_child_err_set(procattr, errfile, NULL); apr_tokenize_to_argv(pl->program, &args, pl->p); pname = apr_pstrdup(pl->p, args[0]); Loading Loading
STATUS +0 −7 Changes for STATUS: 0 added lines, 7 removed lines. Original line number Diff line number Diff line Loading @@ -112,13 +112,6 @@ CURRENT RELEASE NOTES: RELEASE SHOWSTOPPERS: * core log.c: Work around possible solutions rejected by apr for the old implementation of apr_proc_create(), and explicitly pass the output and error channels to all log processes created. This goes all the way back to piped logs failing to run on win32. Not in or needed at trunk/, as apr 1.3.0 has the proper fix. http://people.apache.org/~wrowe/httpd-2.0-2.2-procattr-bugfix-log.c.patch +1: wrowe, rpluem, jim PATCHES ACCEPTED TO BACKPORT FROM TRUNK: [ start all new proposals below, under PATCHES PROPOSED. ] Loading
server/log.c +12 −3 Changes for server/log.c: 12 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -267,7 +267,7 @@ static int log_child(apr_pool_t *p, const char *progname, apr_status_t rc; apr_procattr_t *procattr; apr_proc_t *procnew; apr_file_t *errfile; apr_file_t *outfile, *errfile; if (((rc = apr_procattr_create(&procattr, p)) == APR_SUCCESS) && ((rc = apr_procattr_io_set(procattr, Loading @@ -284,8 +284,11 @@ static int log_child(apr_pool_t *p, const char *progname, pname = apr_pstrdup(p, args[0]); procnew = (apr_proc_t *)apr_pcalloc(p, sizeof(*procnew)); if (dummy_stderr) { if ((rc = apr_file_open_stdout(&errfile, p)) == APR_SUCCESS) if ((rc = apr_file_open_stdout(&outfile, p)) == APR_SUCCESS) { rc = apr_procattr_child_out_set(procattr, outfile, NULL); if (dummy_stderr) rc = apr_procattr_child_err_set(procattr, outfile, NULL); else if ((rc = apr_file_open_stderr(&errfile, p)) == APR_SUCCESS) rc = apr_procattr_child_err_set(procattr, errfile, NULL); } Loading Loading @@ -888,6 +891,12 @@ static apr_status_t piped_log_spawn(piped_log *pl) else { char **args; const char *pname; apr_file_t *outfile, *errfile; if ((status = apr_file_open_stdout(&outfile, pl->p)) == APR_SUCCESS) status = apr_procattr_child_out_set(procattr, outfile, NULL); if ((status = apr_file_open_stderr(&errfile, pl->p)) == APR_SUCCESS) status = apr_procattr_child_err_set(procattr, errfile, NULL); apr_tokenize_to_argv(pl->program, &args, pl->p); pname = apr_pstrdup(pl->p, args[0]); Loading