Return-Path: Delivered-To: apmail-apache-cvs-archive@apache.org Received: (qmail 82495 invoked by uid 500); 4 Jan 2001 18:22:54 -0000 Mailing-List: contact apache-cvs-help@apache.org; run by ezmlm Precedence: bulk Reply-To: new-httpd@apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list apache-cvs@apache.org Received: (qmail 82415 invoked by uid 500); 4 Jan 2001 18:22:52 -0000 Delivered-To: apmail-httpd-2.0-cvs@apache.org Date: 4 Jan 2001 18:22:51 -0000 Message-ID: <20010104182251.82397.qmail@apache.org> From: trawick@apache.org To: httpd-2.0-cvs@apache.org Subject: cvs commit: httpd-2.0 libhttpd.def trawick 01/01/04 10:22:51 Modified: include http_log.h server log.c main.c . libhttpd.def Log: Set up stderr logging explictly early in initialization so that a pool is available for creating the APR representation of stderr. Revision Changes Path 1.22 +6 -0 httpd-2.0/include/http_log.h Index: http_log.h =================================================================== RCS file: /home/cvs/httpd-2.0/include/http_log.h,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- http_log.h 2000/10/19 00:04:55 1.21 +++ http_log.h 2001/01/04 18:22:47 1.22 @@ -114,6 +114,12 @@ #define APLOG_MARK __FILE__,__LINE__ /** + * Set up for logging to stderr. + * @param p The pool to allocate out of + */ +void ap_open_stderr_log(apr_pool_t *p); + +/** * Open the error log and replace stderr with it. * @param s_main The main server * @param p The pool to allocate out of 1.78 +8 -1 httpd-2.0/server/log.c Index: log.c =================================================================== RCS file: /home/cvs/httpd-2.0/server/log.c,v retrieving revision 1.77 retrieving revision 1.78 diff -u -r1.77 -r1.78 --- log.c 2000/12/31 23:41:07 1.77 +++ log.c 2001/01/04 18:22:49 1.78 @@ -174,6 +174,13 @@ {NULL, -1}, }; +static apr_file_t *stderr_log; + +void ap_open_stderr_log(apr_pool_t *p) +{ + apr_open_stderr(&stderr_log, p); +} + static int log_child(apr_pool_t *p, const char *progname, apr_file_t **fpin) { @@ -346,7 +353,7 @@ if (((level & APLOG_LEVELMASK) != APLOG_NOTICE) && ((level & APLOG_LEVELMASK) > DEFAULT_LOGLEVEL)) return; - apr_open_stderr(&logf, pool); + logf = stderr_log; } else if (s->error_log) { /* 1.82 +5 -0 httpd-2.0/server/main.c Index: main.c =================================================================== RCS file: /home/cvs/httpd-2.0/server/main.c,v retrieving revision 1.81 retrieving revision 1.82 diff -u -r1.81 -r1.82 --- main.c 2001/01/01 00:36:46 1.81 +++ main.c 2001/01/04 18:22:49 1.82 @@ -214,12 +214,17 @@ stat = apr_create_pool(&cntx, NULL); if (stat != APR_SUCCESS) { + /* XXX From the time that we took away the NULL pool->malloc mapping + * we have been unable to log here without segfaulting. + */ ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, NULL, "apr_create_pool() failed to create " "initial context"); apr_terminate(); exit(1); } + + ap_open_stderr_log(cntx); process = apr_palloc(cntx, sizeof(process_rec)); process->pool = cntx; 1.48 +1 -0 httpd-2.0/libhttpd.def Index: libhttpd.def =================================================================== RCS file: /home/cvs/httpd-2.0/libhttpd.def,v retrieving revision 1.47 retrieving revision 1.48 diff -u -r1.47 -r1.48 --- libhttpd.def 2001/01/03 21:35:02 1.47 +++ libhttpd.def 2001/01/04 18:22:50 1.48 @@ -418,3 +418,4 @@ ap_xml_insert_uri ap_os_create_privileged_process + ap_open_stderr_log