cvs: /php4/serverapi isapi_sapi.c nsapi_sapi.c

From: Date: Sat, 04 Sep 1999 21:49:40 +0000
Subject: cvs: /php4/serverapi isapi_sapi.c nsapi_sapi.c
Groups: php.version4 
Request: Send a blank email to php-version4+get-4098@lists.php.net to get a copy of this message
rasmus Sat Sep 4 17:49:40 1999 EDT Modified files: /php4/serverapi isapi_sapi.c nsapi_sapi.c Log: Add connection handling stuff to ISAPI and NSAPI code. This will likely need some reworking, but this way it won't get overlooked. Index: php4/serverapi/isapi_sapi.c diff -u php4/serverapi/isapi_sapi.c:1.4 php4/serverapi/isapi_sapi.c:1.5 --- php4/serverapi/isapi_sapi.c:1.4 Sat Sep 4 16:12:47 1999 +++ php4/serverapi/isapi_sapi.c Sat Sep 4 17:49:39 1999 @@ -54,7 +54,9 @@ HSE_REQ_SEND_URL_REDIRECT_RESP, NULL,&len,(LPDWORD)header)) { OutputDebugString("Header Failed\n"); - return -1; + PG(connection_status) = PHP_CONNECTION_ABORTED; + if(!PG(ignore_user_abort)) zend_bailout(); + return EOF; } return 1; } @@ -72,7 +74,9 @@ n = strlen(string); if (!lpEcb->WriteClient(lpEcb->ConnID,string,&n,0)) { OutputDebugString("PUTS Failed\n"); - return -1; + PG(connection_status) = PHP_CONNECTION_ABORTED; + if(!PG(ignore_user_abort)) zend_bailout(); + return EOF; } return 1; } @@ -82,7 +86,9 @@ int n = 1; if (!lpEcb->WriteClient(lpEcb->ConnID,&c,&n,0)){ OutputDebugString("PUTC Failed\n"); - return -1; + PG(connection_status) = PHP_CONNECTION_ABORTED; + if(!PG(ignore_user_abort)) zend_bailout(); + return EOF; } return 1; } @@ -91,6 +97,8 @@ LPEXTENSION_CONTROL_BLOCK lpEcb=scid; if (!lpEcb->WriteClient(lpEcb->ConnID,string,&len,0)){ OutputDebugString("WriteClient Failed\n"); + PG(connection_status) = PHP_CONNECTION_ABORTED; + if(!PG(ignore_user_abort)) zend_bailout(); return 0; } return 1; Index: php4/serverapi/nsapi_sapi.c diff -u php4/serverapi/nsapi_sapi.c:1.3 php4/serverapi/nsapi_sapi.c:1.4 --- php4/serverapi/nsapi_sapi.c:1.3 Sat Sep 4 16:12:47 1999 +++ php4/serverapi/nsapi_sapi.c Sat Sep 4 17:49:39 1999 @@ -94,22 +94,41 @@ int sapi_flush(void *scid){ struct ns_request_info *ns_rqst=(struct ns_request_info *)scid; + /* FIXME */ return 1; } int sapi_puts(void *scid, char *string){ + int ret; struct ns_request_info *ns_rqst=(struct ns_request_info *)scid; - return puts(string); + ret = puts(string); + if(ret==EOF) { + PG(connection_status) |= PHP_CONNECTION_ABORTED; + if(!PG(ignore_user_abort)) zend_bailout(); + } + return ret; } int sapi_putc(void *scid, char c){ + int ret; struct ns_request_info *ns_rqst=(struct ns_request_info *)scid; - return net_write(ns_rqst->sn->csd, &c, 1); + ret = net_write(ns_rqst->sn->csd, &c, 1); + if(ret==EOF) { + PG(connection_status) |= PHP_CONNECTION_ABORTED; + if(!PG(ignore_user_abort)) zend_bailout(); + } + return ret; } int sapi_writeclient(void *scid, char *string, int len){ + int ret; struct ns_request_info *ns_rqst=(struct ns_request_info *)scid; - return net_write(ns_rqst->sn->csd, s, size); + ret = net_write(ns_rqst->sn->csd, s, size); + if(ret==EOF) { + PG(connection_status) |= PHP_CONNECTION_ABORTED; + if(!PG(ignore_user_abort)) zend_bailout(); + } + return ret; } void sapi_block(void *scid){}

« previous php.version4 (#4098) next »