]> granicus.if.org Git - apache/commitdiff
* server/log.c (piped_log_spawn): Return the APR error code,
authorJoe Orton <jorton@apache.org>
Mon, 16 May 2005 19:59:05 +0000 (19:59 +0000)
committerJoe Orton <jorton@apache.org>
Mon, 16 May 2005 19:59:05 +0000 (19:59 +0000)
as expected by piped_log_maintenance (and fixing "Unknown
error" messages in error path there).
(ap_open_piped_log): Expect an APR error code.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@170441 13f79535-47bb-0310-9956-ffa450edef68

server/log.c

index 6bcc202e76a769a76532c4e62f13fda43441a8a4..16aeebda8af1887204cbdada84855f7be0dfb651 100644 (file)
@@ -785,9 +785,9 @@ AP_DECLARE(void) ap_log_assert(const char *szExp, const char *szFile,
 /* forward declaration */
 static void piped_log_maintenance(int reason, void *data, apr_wait_t status);
 
-static int piped_log_spawn(piped_log *pl)
+/* Spawn the piped logger process pl->program. */
+static apr_status_t piped_log_spawn(piped_log *pl)
 {
-    int rc = 0;
     apr_procattr_t *procattr;
     apr_proc_t *procnew = NULL;
     apr_status_t status;
@@ -807,7 +807,6 @@ static int piped_log_spawn(piped_log *pl)
         ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL,
                      "piped_log_spawn: unable to setup child process '%s': %s",
                      pl->program, apr_strerror(status, buf, sizeof(buf)));
-        rc = -1;
     }
     else {
         char **args;
@@ -832,11 +831,10 @@ static int piped_log_spawn(piped_log *pl)
             ap_log_error(APLOG_MARK, APLOG_STARTUP, 0, NULL,
                          "unable to start piped log program '%s': %s",
                          pl->program, apr_strerror(status, buf, sizeof(buf)));
-            rc = -1;
         }
     }
 
-    return rc;
+    return status;
 }
 
 
@@ -928,7 +926,7 @@ AP_DECLARE(piped_log *) ap_open_piped_log(apr_pool_t *p, const char *program)
     }
     apr_pool_cleanup_register(p, pl, piped_log_cleanup,
                               piped_log_cleanup_for_exec);
-    if (piped_log_spawn(pl) == -1) {
+    if (piped_log_spawn(pl) != APR_SUCCESS) {
         int save_errno = errno;
         apr_pool_cleanup_kill(p, pl, piped_log_cleanup);
         apr_file_close(ap_piped_log_read_fd(pl));