Bugs item #1110242, was opened at 2005-01-26 22:42 Message generated for change (Comment added) made by loewis You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1110242&group_id=5470
Category: Python Library Group: Python 2.4 Status: Closed >Resolution: Fixed Priority: 5 Submitted By: David Schnepper (dschnepper) Assigned to: Nobody/Anonymous (nobody) Summary: gzip.GzipFile.flush() does not flush all internal buffers Initial Comment: flush() is expected to output all pending data stored in internal buffers. gzip.GzipFile.flush() does perform a flush on its fileobj, but does not flush the state of its compressobj prior to the IO flush. This results in being able to use gzip.GzipFile to zip output to a socket and having the other side unzip it in sync with originators flush calls. ---------------------------------------------------------------------- >Comment By: Martin v. Löwis (loewis) Date: 2005-03-03 09:39 Message: Logged In: YES user_id=21627 Ah, put the "committed" message into the wrong tracker item. As I said, I don't think the bug is fully fixed, but I don't think it can be fully fixed, either, so closing it as fixed. ---------------------------------------------------------------------- Comment By: Martin v. Löwis (loewis) Date: 2005-03-03 09:38 Message: Logged In: YES user_id=21627 Thanks for the patch. I believe it does not fully fix the bug reported: not all input data are flushed with Z_SYNC_FLUSH, but only some (up to an output byte boundary or some such). I also believe that a "complete" fix for the bug is not possible, as flushing all input data would require Z_FINISH, and then no more additional data could be written into the stream. As this is still an improvement over the current status, I committed it as gzip.py 1.43 NEWS 1.1251 ---------------------------------------------------------------------- Comment By: Alan McIntyre (ESRG) (alanmcintyre) Date: 2005-02-27 05:33 Message: Logged In: YES user_id=1115903 This patch appears to fix the bug as described, and running the regression tests on Python 2.5a0 (CVS HEAD) plus this patch turns up no problems. Since the documentation says that a GzipFile "simulates most of the methods of a file object," I would expect GzipFile.flush() to act in the way that David described in the first paragraph of the bug report, and his patch seems to provide that as far as I can tell. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1110242&group_id=5470 _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com