com php-src: Add --force-stderr to fpm: sapi/fpm/fpm/fpm.c sapi/fpm/fpm/fpm.h sapi/fpm/fpm/fpm_main.c sapi/fpm/fpm/f pm_stdio.c
| From: | Antony Dovgal | Date: | Fri, 17 Jan 2014 08:49:00 +0000 |
| Subject: | com php-src: Add --force-stderr to fpm: sapi/fpm/fpm/fpm.c sapi/fpm/fpm/fpm.h sapi/fpm/fpm/fpm_main.c sapi/fpm/fpm/f pm_stdio.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-75662@lists.php.net to get a copy of this message | ||
Commit: e3d3283405dd2168615e24196f5e844c121fdc55
Author: Gernot Vormayr <gvormayr@gmail.com> Tue, 7 Jan 2014 00:19:01 +0100
Committer: Antony Dovgal <tony@daylessday.org> Fri, 17 Jan 2014 12:49:00 +0400
Parents: f6d137a71600bc2e12367cb5320ff6dd509566ec
Branches: PHP-5.6
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=e3d3283405dd2168615e24196f5e844c121fdc55
Log:
Add --force-stderr to fpm
Changed paths:
M sapi/fpm/fpm/fpm.c
M sapi/fpm/fpm/fpm.h
M sapi/fpm/fpm/fpm_main.c
M sapi/fpm/fpm/fpm_stdio.c
Diff:
diff --git a/sapi/fpm/fpm/fpm.c b/sapi/fpm/fpm/fpm.c
index b866f37..abfc786 100644
--- a/sapi/fpm/fpm/fpm.c
+++ b/sapi/fpm/fpm/fpm.c
@@ -39,10 +39,11 @@ struct fpm_globals_s fpm_globals = {
.test_successful = 0,
.heartbeat = 0,
.run_as_root = 0,
+ .force_stderr = 0,
.send_config_pipe = {0, 0},
};
-int fpm_init(int argc, char **argv, char *config, char *prefix, char *pid, int test_conf, int
run_as_root, int force_daemon) /* {{{ */
+int fpm_init(int argc, char **argv, char *config, char *prefix, char *pid, int test_conf, int
run_as_root, int force_daemon, int force_stderr) /* {{{ */
{
fpm_globals.argc = argc;
fpm_globals.argv = argv;
@@ -52,6 +53,7 @@ int fpm_init(int argc, char **argv, char *config, char *prefix, char *pid, int t
fpm_globals.prefix = prefix;
fpm_globals.pid = pid;
fpm_globals.run_as_root = run_as_root;
+ fpm_globals.force_stderr = force_stderr;
if (0 > fpm_php_init_main() ||
0 > fpm_stdio_init_main() ||
diff --git a/sapi/fpm/fpm/fpm.h b/sapi/fpm/fpm/fpm.h
index 65d0e0d..68642a9 100644
--- a/sapi/fpm/fpm/fpm.h
+++ b/sapi/fpm/fpm/fpm.h
@@ -37,7 +37,7 @@
int fpm_run(int *max_requests);
-int fpm_init(int argc, char **argv, char *config, char *prefix, char *pid, int test_conf, int
run_as_root, int force_daemon);
+int fpm_init(int argc, char **argv, char *config, char *prefix, char *pid, int test_conf, int
run_as_root, int force_daemon, int force_stderr);
struct fpm_globals_s {
pid_t parent_pid;
@@ -55,6 +55,7 @@ struct fpm_globals_s {
int test_successful;
int heartbeat;
int run_as_root;
+ int force_stderr;
int send_config_pipe[2];
};
diff --git a/sapi/fpm/fpm/fpm_main.c b/sapi/fpm/fpm/fpm_main.c
index db9aeab..fccb80c 100644
--- a/sapi/fpm/fpm/fpm_main.c
+++ b/sapi/fpm/fpm/fpm_main.c
@@ -157,6 +157,7 @@ static const opt_struct OPTIONS[] = {
{'R', 0, "allow-to-run-as-root"},
{'D', 0, "daemonize"},
{'F', 0, "nodaemonize"},
+ {'O', 0, "force-stderr"},
{'-', 0, NULL} /* end of args */
};
@@ -921,7 +922,7 @@ static void php_cgi_usage(char *argv0)
prog = "php";
}
- php_printf( "Usage: %s [-n] [-e] [-h] [-i] [-m] [-v] [-t] [-p <prefix>] [-g
<pid>] [-c <file>] [-d foo[=bar]] [-y <file>] [-D] [-F]\n"
+ php_printf( "Usage: %s [-n] [-e] [-h] [-i] [-m] [-v] [-t] [-p <prefix>] [-g
<pid>] [-c <file>] [-d foo[=bar]] [-y <file>] [-D] [-F [-O]]\n"
" -c <path>|<file> Look for php.ini file in this directory\n"
" -n No php.ini file will be used\n"
" -d foo[=bar] Define INI entry foo with value 'bar'\n"
@@ -940,6 +941,8 @@ static void php_cgi_usage(char *argv0)
" -D, --daemonize force to run in background, and ignore daemonize option from config
file\n"
" -F, --nodaemonize\n"
" force to stay in foreground, and ignore daemonize option from config
file\n"
+ " -O, --force-stderr\n"
+ " force output to stderr in nodaemonize even
if stderr is not a TTY\n"
" -R, --allow-to-run-as-root\n"
" Allow pool to run as root (disabled by default)\n",
prog, PHP_PREFIX);
@@ -1572,6 +1575,7 @@ int main(int argc, char *argv[])
char *fpm_pid = NULL;
int test_conf = 0;
int force_daemon = -1;
+ int force_stderr = 0;
int php_information = 0;
int php_allow_to_run_as_root = 0;
@@ -1700,6 +1704,10 @@ int main(int argc, char *argv[])
force_daemon = 0;
break;
+ case 'O': /* force stderr even on non tty */
+ force_stderr = 1;
+ break;
+
default:
case 'h':
case '?':
@@ -1827,7 +1835,7 @@ consult the installation file that came with this distribution, or visit \n\
}
}
- if (0 > fpm_init(argc, argv, fpm_config ? fpm_config : CGIG(fpm_config), fpm_prefix, fpm_pid,
test_conf, php_allow_to_run_as_root, force_daemon)) {
+ if (0 > fpm_init(argc, argv, fpm_config ? fpm_config : CGIG(fpm_config), fpm_prefix, fpm_pid,
test_conf, php_allow_to_run_as_root, force_daemon, force_stderr)) {
if (fpm_globals.send_config_pipe[1]) {
int writeval = 0;
diff --git a/sapi/fpm/fpm/fpm_stdio.c b/sapi/fpm/fpm/fpm_stdio.c
index d81e101..33b0e01 100644
--- a/sapi/fpm/fpm/fpm_stdio.c
+++ b/sapi/fpm/fpm/fpm_stdio.c
@@ -292,7 +292,7 @@ int fpm_stdio_open_error_log(int reopen) /* {{{ */
} else {
fpm_globals.error_log_fd = fd;
#if HAVE_UNISTD_H
- if (fpm_global_config.daemonize || !isatty(STDERR_FILENO)) {
+ if (fpm_global_config.daemonize || (!isatty(STDERR_FILENO) && !fpm_globals.force_stderr))
{
#else
if (fpm_global_config.daemonize) {
#endif