summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSascha Schumann <sas@php.net>2000-12-13 13:19:56 +0000
committerSascha Schumann <sas@php.net>2000-12-13 13:19:56 +0000
commit276cb7cdb198e92bb995e3b5c204fa24c536e5c9 (patch)
tree15718aa799e80279ec8f7d8df2115f7a9666ee01
parent08d104e04041685502301b24b80afe82674e8c02 (diff)
downloadphp-git-276cb7cdb198e92bb995e3b5c204fa24c536e5c9.tar.gz
Add apache_child_terminate() and INI setting apache.child_terminate
which defaults to 0. Submitted by: Sam Liddicott <sam.liddicott@ananova.com>
-rw-r--r--sapi/apache/mod_php4.h1
-rw-r--r--sapi/apache/php_apache.c17
2 files changed, 18 insertions, 0 deletions
diff --git a/sapi/apache/mod_php4.h b/sapi/apache/mod_php4.h
index 461805550c..ed9cdb776b 100644
--- a/sapi/apache/mod_php4.h
+++ b/sapi/apache/mod_php4.h
@@ -30,6 +30,7 @@ typedef struct {
long engine;
long last_modified;
long xbithack;
+ long terminate_child;
} php_apache_info_struct;
extern zend_module_entry apache_module_entry;
diff --git a/sapi/apache/php_apache.c b/sapi/apache/php_apache.c
index 64898b8916..8ead0de770 100644
--- a/sapi/apache/php_apache.c
+++ b/sapi/apache/php_apache.c
@@ -67,6 +67,7 @@ PHP_FUNCTION(getallheaders);
PHP_FUNCTION(apachelog);
PHP_FUNCTION(apache_note);
PHP_FUNCTION(apache_lookup_uri);
+PHP_FUNCTION(apache_child_terminate);
PHP_MINFO_FUNCTION(apache);
@@ -75,6 +76,7 @@ function_entry apache_functions[] = {
PHP_FE(getallheaders, NULL)
PHP_FE(apache_note, NULL)
PHP_FE(apache_lookup_uri, NULL)
+ PHP_FE(apache_child_terminate, NULL)
{NULL, NULL, NULL}
};
@@ -83,6 +85,7 @@ PHP_INI_BEGIN()
STD_PHP_INI_ENTRY("xbithack", "0", PHP_INI_ALL, OnUpdateInt, xbithack, php_apache_info_struct, php_apache_info)
STD_PHP_INI_ENTRY("engine", "1", PHP_INI_ALL, OnUpdateInt, engine, php_apache_info_struct, php_apache_info)
STD_PHP_INI_ENTRY("last_modified", "0", PHP_INI_ALL, OnUpdateInt, last_modified, php_apache_info_struct, php_apache_info)
+ STD_PHP_INI_ENTRY("child_terminate", "0", PHP_INI_ALL, OnUpdateInt, terminate_child, php_apache_info_struct, php_apache_info)
PHP_INI_END()
@@ -107,6 +110,20 @@ zend_module_entry apache_module_entry = {
"apache", apache_functions, PHP_MINIT(apache), PHP_MSHUTDOWN(apache), NULL, NULL, PHP_MINFO(apache), STANDARD_MODULE_PROPERTIES
};
+/* {{{ proto string child_terminate()
+ Get and set Apache request notes */
+PHP_FUNCTION(apache_child_terminate)
+{
+ APLS_FETCH();
+
+ if (AP(terminate_child)) {
+ ap_child_terminate( ((request_rec *)SG(server_context)) );
+ } else { /* tell them to get lost! */
+ php_error(E_WARNING, "apache.child_terminate is disabled");
+ }
+}
+/* }}} */
+
/* {{{ proto string apache_note(string note_name [, string note_value])
Get and set Apache request notes */
PHP_FUNCTION(apache_note)