mturk 2003/10/04 04:43:14 Modified: jk/native/apache-2.0 mod_jk.c Log: Let the open_log retuns int instead calling exit(1), so we can return INTERNL_SERVER_ERROR, instead getting into endles child create/exit loop. Revision Changes Path 1.88 +13 -11 jakarta-tomcat-connectors/jk/native/apache-2.0/mod_jk.c Index: mod_jk.c =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/apache-2.0/mod_jk.c,v retrieving revision 1.87 retrieving revision 1.88 diff -u -r1.87 -r1.88 --- mod_jk.c 4 Oct 2003 09:26:00 -0000 1.87 +++ mod_jk.c 4 Oct 2003 11:43:14 -0000 1.88 @@ -2092,7 +2092,7 @@ return APR_SUCCESS; } -static void open_jklog(server_rec *s, apr_pool_t *p) +static int open_jklog(server_rec *s, apr_pool_t *p) { jk_server_conf_t *conf; const char *fname; @@ -2107,13 +2107,13 @@ if (main_log != NULL) { conf->log = main_log; - return; + return 0; } if (conf->log_file == NULL) { - return; + return 0; } if (*(conf->log_file) == '\0') { - return; + return 0; } if (*conf->log_file == '|') { @@ -2121,17 +2121,17 @@ ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, "mod_jk: could not open reliable pipe " "to jk log %s", conf->log_file+1); - exit(1); + return -1; } conf->jklogfp = (void *)ap_piped_log_write_fd(pl); } - else if (*conf->log_file != '\0') { + else { fname = ap_server_root_relative(p, conf->log_file); if (!fname) { ap_log_error(APLOG_MARK, APLOG_ERR, APR_EBADPATH, s, "mod_jk: Invalid JkLog " "path %s", conf->log_file); - exit(1); + return -1; } if ((rc = apr_file_open(&conf->jklogfp, fname, jklog_flags, jklog_mode, p)) @@ -2139,7 +2139,7 @@ ap_log_error(APLOG_MARK, APLOG_ERR, rc, s, "mod_jk: could not open JkLog " "file %s", fname); - exit(1); + return -1; } apr_file_inherit_set(conf->jklogfp); } @@ -2154,10 +2154,10 @@ if (main_log == NULL) main_log = conf->log; apr_pool_cleanup_register(p, main_log, jklog_cleanup, jklog_cleanup); - return; + return 0; } - exit(1); + return -1; } @@ -2248,7 +2248,9 @@ * - open each jk logfile */ for (; s; s = s->next) { - open_jklog(s, pconf); + if (open_jklog(s, pconf)) + return HTTP_INTERNAL_SERVER_ERROR; + } return OK;
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]