summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/main.c11
-rw-r--r--main/php_main.h1
2 files changed, 12 insertions, 0 deletions
diff --git a/main/main.c b/main/main.c
index 90e41c3f3d..e7bf7a4519 100644
--- a/main/main.c
+++ b/main/main.c
@@ -1214,6 +1214,17 @@ PHPAPI void php_execute_script(zend_file_handle *primary_file CLS_DC ELS_DC PLS_
free_alloca(old_cwd);
}
+PHPAPI void php_handle_aborted_connection(void)
+{
+ PLS_FETCH();
+
+ PG(connection_status) = PHP_CONNECTION_ABORTED;
+
+ if (!PG(ignore_user_abort)) {
+ zend_bailout();
+ }
+}
+
PHPAPI int php_handle_auth_data(const char *auth SLS_DC)
{
int ret = -1;
diff --git a/main/php_main.h b/main/php_main.h
index 390002d319..22b1bbc8c4 100644
--- a/main/php_main.h
+++ b/main/php_main.h
@@ -44,6 +44,7 @@ PHPAPI void php_execute_script(zend_file_handle *primary_file CLS_DC ELS_DC PLS_
PHPAPI int php_handle_special_queries(SLS_D PLS_DC);
PHPAPI int php_lint_script(zend_file_handle *file CLS_DC ELS_DC PLS_DC);
+PHPAPI void php_handle_aborted_connection(void);
PHPAPI int php_handle_auth_data(const char *auth SLS_DC);
extern void php_call_shutdown_functions(void);