cvs-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Cvs-cvs] Changes to ccvs/src/zlib.c


From: Derek Robert Price
Subject: [Cvs-cvs] Changes to ccvs/src/zlib.c
Date: Fri, 28 Oct 2005 10:11:01 -0400

Index: ccvs/src/zlib.c
diff -u ccvs/src/zlib.c:1.31 ccvs/src/zlib.c:1.32
--- ccvs/src/zlib.c:1.31        Fri Jun  3 18:26:09 2005
+++ ccvs/src/zlib.c     Fri Oct 28 14:10:59 2005
@@ -221,15 +221,14 @@
            point.  */
        assert (bd->size == 0);
 
-       /* This will work well in the server, because this call will
-          do an unblocked read and fetch all the available data.  In
-          the client, this will read a single byte from the stdio
-          stream, which will cause us to call inflate once per byte.
-          It would be more efficient if we could make a call which
-          would fetch all the available bytes, and at least one byte.  */
-
+       /* On the server, this will do an unblocking read of as much data as is
+        * available.  On the client, with a blocking input descriptor and the
+        * current fd_buffer implementation, this should read as much data as
+        * is currently available, and at least 1 byte (or EOF), from the
+        * underlying buffer.
+        */
        status = (*cb->buf->input) (cb->buf->closure, bd->text,
-                                   need, BUFFER_DATA_SIZE, &nread);
+                                   need ? 1 : 0, BUFFER_DATA_SIZE, &nread);
 
        if (status == -2)
            /* Don't try to recover from memory allcoation errors.  */




reply via email to

[Prev in Thread] Current Thread [Next in Thread]