summaryrefslogtreecommitdiff
path: root/main/main.c
diff options
context:
space:
mode:
authorRasmus Lerdorf <rasmus@php.net>1999-09-04 20:12:47 +0000
committerRasmus Lerdorf <rasmus@php.net>1999-09-04 20:12:47 +0000
commit0bede914ab627eb1fb955f08a300f8b21296eab9 (patch)
treec5365c8b9fbc82507d4477ddbcd45fb8d4c91191 /main/main.c
parent8e9cd1e4aeb2750a177cfc83e63341de34dd062c (diff)
downloadphp-git-0bede914ab627eb1fb955f08a300f8b21296eab9.tar.gz
First part of the connection_status work. No user-callable functions
yet. That is coming next. Have also only done Apache and CGI so far. Will have to crack open my ISAPI book to do that one. Also changed the SAPI output functions to return an int. We'll check the connection status inside each one, but we might need the return code at some other level and I don't see a good reason for just tossing these return codes.
Diffstat (limited to 'main/main.c')
-rw-r--r--main/main.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/main/main.c b/main/main.c
index f778212c07..5e53f5ffa1 100644
--- a/main/main.c
+++ b/main/main.c
@@ -228,6 +228,7 @@ PHP_INI_BEGIN()
STD_PHP_INI_BOOLEAN("track_vars", (PHP_TRACK_VARS?"1":"0"), PHP_INI_ALL, OnUpdateInt, track_vars, php_core_globals, core_globals)
STD_PHP_INI_ENTRY("gpc_order", "GPC", PHP_INI_ALL, OnUpdateStringUnempty, gpc_order, php_core_globals, core_globals)
STD_PHP_INI_ENTRY("arg_separator", "&", PHP_INI_ALL, OnUpdateStringUnempty, arg_separator, php_core_globals, core_globals)
+ STD_PHP_INI_BOOLEAN("ignore_user_abort", "1", PHP_INI_ALL, OnUpdateInt, ignore_user_abort, php_core_globals, core_globals)
PHP_INI_END()
@@ -235,14 +236,16 @@ PHP_INI_END()
/* True global (no need for thread safety */
static int module_initialized = 0;
-
+#if 0
#if APACHE
void php3_apache_puts(const char *s)
{
SLS_FETCH();
if (SG(server_context)) {
- rputs(s, (request_rec *) SG(server_context));
+ if(rputs(s, (request_rec *) SG(server_context))==-1) {
+ PG(connection_status) = PHP_CONNECTION_ABORTED;
+ }
} else {
fputs(s, stdout);
}
@@ -253,12 +256,15 @@ void php3_apache_putc(char c)
SLS_FETCH();
if (SG(server_context)) {
- rputc(c, (request_rec *) SG(server_context));
+ if(rputc(c, (request_rec *) SG(server_context))!=c) {
+ PG(connection_status) = PHP_CONNECTION_ABORTED;
+ }
} else {
fputc(c, stdout);
}
}
#endif
+#endif
void php3_log_err(char *log_message)
{
@@ -847,6 +853,7 @@ int php_module_startup(sapi_module_struct *sf)
PG(header_is_being_sent) = 0;
SG(request_info).headers_only = 0;
+ PG(connection_status) = PHP_CONNECTION_NORMAL;
#if HAVE_SETLOCALE
setlocale(LC_CTYPE, "");