Commit 95dcc0e6 authored by Jim Jagielski's avatar Jim Jagielski
Browse files

Remove existing showstopper


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.0.x@607255 13f79535-47bb-0310-9956-ffa450edef68
parent a35812a9
Loading
Loading
Loading
Loading
+0 −7
Changes for STATUS: 0 added lines, 7 removed lines.
Original line number Diff line number Diff line
@@ -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. ]
+12 −3
Changes for server/log.c: 12 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -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,
@@ -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);
        }

@@ -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]);