]> granicus.if.org Git - php/commitdiff
Try harder to push data through the wire.
authorSascha Schumann <sas@php.net>
Mon, 15 Jan 2001 14:48:14 +0000 (14:48 +0000)
committerSascha Schumann <sas@php.net>
Mon, 15 Jan 2001 14:48:14 +0000 (14:48 +0000)
I just learned that the AOLserver module will be used for a 100k users
webmail service.  Wheee!

sapi/aolserver/aolserver.c

index aabfe5a9e1608f6bd6157838e121cc3fa9cfe992..8735b828712df09e5785a824acd4c439cf3525fa 100644 (file)
@@ -93,15 +93,22 @@ static void php_ns_config(php_ns_context *ctx, char global);
 static int
 php_ns_sapi_ub_write(const char *str, uint str_length)
 {
-       int sent_bytes;
+       int n;
+       uint sent = 0;
        NSLS_FETCH();
 
-       sent_bytes = Ns_ConnWrite(NSG(conn), (void *) str, str_length);
+       while (str_length > 0) {
+               n = Ns_ConnWrite(NSG(conn), (void *) str, str_length);
 
-       if (sent_bytes != str_length)
-               php_handle_aborted_connection();
+               if (n == -1)
+                       php_handle_aborted_connection();
+
+               str += n;
+               sent += n;
+               str_length -= n;
+       }
        
-       return sent_bytes;
+       return sent;
 }
 
 /*