stoddard    00/02/14 16:54:18

  Modified:    src/main http_log.c
  Log:
  First step to get piped logs working on Windows (and Unix as well).
  There are still all kinds of problems in http_log.c. This patch just
  barely scratches the surface.
  
  Revision  Changes    Path
  1.28      +11 -12    apache-2.0/src/main/http_log.c
  
  Index: http_log.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/main/http_log.c,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- http_log.c        2000/01/31 23:14:41     1.27
  +++ http_log.c        2000/02/15 00:54:06     1.28
  @@ -176,12 +176,11 @@
       signal(SIGHUP, SIG_IGN);
   #endif /* ndef SIGHUP */
   
  -    if ((ap_createprocattr_init(&procattr, p)          != APR_SUCCESS) ||
  +    if ((ap_createprocattr_init(&procattr, p) != APR_SUCCESS) ||
           (ap_setprocattr_io(procattr,
  -                           APR_NO_PIPE,
                              APR_FULL_BLOCK,
  -                           APR_NO_PIPE) != APR_SUCCESS) ||
  -        (ap_setprocattr_dir(procattr, progname)        != APR_SUCCESS)) {
  +                           APR_NO_PIPE,
  +                           APR_NO_PIPE) != APR_SUCCESS)) {
           /* Something bad happened, give up and go away. */
           rc = -1;
       }
  @@ -264,15 +263,15 @@
   
       replace_stderr = 1;
       if (s_main->error_log) {
  -     /* replace stderr with this new log */
  -     fflush(stderr);
  +        /* replace stderr with this new log */
  +        fflush(stderr); /* ToDo: replace this with an APR call... */
           ap_open_stderr(&errfile, p);        
  -     if (ap_dupfile(&errfile, s_main->error_log) != APR_SUCCESS) {
  -         ap_log_error(APLOG_MARK, APLOG_CRIT, errno, s_main,
  -             "unable to replace stderr with error_log");
  -     } else {
  -         replace_stderr = 0;
  -     }
  +        if (ap_dupfile(&errfile, s_main->error_log) != APR_SUCCESS) {
  +            ap_log_error(APLOG_MARK, APLOG_CRIT, errno, s_main,
  +                         "unable to replace stderr with error_log");
  +        } else {
  +            replace_stderr = 0;
  +        }
       }
       /* note that stderr may still need to be replaced with something
        * because it points to the old error log, or back to the tty
  
  
  

Reply via email to