1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-06 09:01:14 +03:00
Don't risk failing silently at startup when running in a tty.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1533728 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Kew
2013-10-19 11:01:11 +00:00
parent 69bc7d594e
commit f5df0defd1
2 changed files with 12 additions and 0 deletions

View File

@@ -1,6 +1,9 @@
-*- coding: utf-8 -*-
Changes with Apache 2.5.0
*) core: ensure any abnormal exit is reported to stderr if it's a tty.
PR 55670 [Nick Kew]
*) mod_proxy: Added support for unix domain sockets as the
backend server endpoint [Jim Jagielski, Blaise Tarr
<blaise tarr gmail com>]

View File

@@ -43,6 +43,11 @@
#if APR_HAVE_UNISTD_H
#include <unistd.h>
#else
/* Not sure what absence of unistd would signify for tty. Treating it as a
* big NO is safe, as we then won't try to write to stderr that's not a tty.
*/
#define isatty(n) (0)
#endif
/* WARNING: Win32 binds http_main.c dynamically to the server. Please place
@@ -263,6 +268,10 @@ static void destroy_and_exit_process(process_rec *process,
ap_main_state = AP_SQ_MS_EXITING;
apr_pool_destroy(process->pool); /* and destroy all descendent pools */
apr_terminate();
if ((process_exit_value != 0) && isatty(fileno(stderr))) {
const char *name = process->short_name ? process->short_name : "httpd";
fprintf(stderr, "%s: abnormal exit %d\n", name, process_exit_value);
}
exit(process_exit_value);
}