php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login

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;
 	}
 
 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Fri Apr 18 10:03:03 2014 UTC