Patch fpm-pid.v1.patch for FPM related Bug #54172
Patch version 2011-07-02 17:39 UTC
Return to Bug #54172 |
Download this patch
Patch Revisions:
Developer: fat@php.net
Index: sapi/fpm/fpm/fpm.c
===================================================================
--- sapi/fpm/fpm/fpm.c (revision 312812)
+++ sapi/fpm/fpm/fpm.c (working copy)
@@ -29,6 +29,7 @@
.argv = NULL,
.config = NULL,
.prefix = NULL,
+ .pid = NULL,
.running_children = 0,
.error_log_fd = 0,
.log_level = 0,
@@ -38,7 +39,7 @@
.test_successful = 0
};
-int fpm_init(int argc, char **argv, char *config, char *prefix, int test_conf) /* {{{ */
+int fpm_init(int argc, char **argv, char *config, char *prefix, char *pid, int test_conf) /* {{{ */
{
fpm_globals.argc = argc;
fpm_globals.argv = argv;
@@ -46,6 +47,7 @@
fpm_globals.config = strdup(config);
}
fpm_globals.prefix = prefix;
+ fpm_globals.pid = pid;
if (0 > fpm_php_init_main() ||
0 > fpm_stdio_init_main() ||
Index: sapi/fpm/fpm/fpm_conf.c
===================================================================
--- sapi/fpm/fpm/fpm_conf.c (revision 312811)
+++ sapi/fpm/fpm/fpm_conf.c (working copy)
@@ -1206,6 +1206,10 @@
}
}
+ if (fpm_globals.pid && *fpm_globals.pid) {
+ fpm_global_config.pid_file = strdup(fpm_globals.pid);
+ }
+
if (fpm_globals.config == NULL) {
char *tmp;
Index: sapi/fpm/fpm/fpm.h
===================================================================
--- sapi/fpm/fpm/fpm.h (revision 312811)
+++ sapi/fpm/fpm/fpm.h (working copy)
@@ -8,7 +8,7 @@
#include <unistd.h>
int fpm_run(int *max_requests);
-int fpm_init(int argc, char **argv, char *config, char *prefix, int test_conf);
+int fpm_init(int argc, char **argv, char *config, char *prefix, char *pid, int test_conf);
struct fpm_globals_s {
pid_t parent_pid;
@@ -16,6 +16,7 @@
char **argv;
char *config;
char *prefix;
+ char *pid;
int running_children;
int error_log_fd;
int log_level;
Index: sapi/fpm/fpm/fpm_main.c
===================================================================
--- sapi/fpm/fpm/fpm_main.c (revision 312811)
+++ sapi/fpm/fpm/fpm_main.c (working copy)
@@ -155,6 +155,7 @@
{'y', 1, "fpm-config"},
{'t', 0, "test"},
{'p', 1, "prefix"},
+ {'g', 1, "pid"},
{'-', 0, NULL} /* end of args */
};
@@ -961,7 +962,7 @@
prog = "php";
}
- php_printf( "Usage: %s [-n] [-e] [-h] [-i] [-m] [-v] [-t] [-p <prefix> ] [-c <file>] [-d foo[=bar]] [-y <file>]\n"
+ php_printf( "Usage: %s [-n] [-e] [-h] [-i] [-m] [-v] [-t] [-p <prefix>] [-g <pid>] [-c <file>] [-d foo[=bar]] [-y <file>]\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"
@@ -972,6 +973,8 @@
" -v Version number\n"
" -p, --prefix <dir>\n"
" Specify alternative prefix path to FastCGI process manager (default: %s).\n"
+ " -g, --pid <file>\n"
+ " Specify the PID file location.\n"
" -y, --fpm-config <file>\n"
" Specify alternative path to FastCGI process manager config file.\n"
" -t, --test Test FPM configuration and exit\n",
@@ -1587,6 +1590,7 @@
fcgi_request request;
char *fpm_config = NULL;
char *fpm_prefix = NULL;
+ char *fpm_pid = NULL;
int test_conf = 0;
fcgi_init();
@@ -1670,6 +1674,10 @@
fpm_prefix = php_optarg;
break;
+ case 'g':
+ fpm_pid = php_optarg;
+ break;
+
case 'e': /* enable extended info output */
CG(compiler_options) |= ZEND_COMPILE_EXTENDED_INFO;
break;
@@ -1815,7 +1823,7 @@
}
}
- if (0 > fpm_init(argc, argv, fpm_config ? fpm_config : CGIG(fpm_config), fpm_prefix, test_conf)) {
+ if (0 > fpm_init(argc, argv, fpm_config ? fpm_config : CGIG(fpm_config), fpm_prefix, fpm_pid, test_conf)) {
return FAILURE;
}
|