Skip to content

Commit 5ef868b

Browse files
committed
Fix flush implementation
1 parent 993f529 commit 5ef868b

File tree

1 file changed

+7
-11
lines changed

1 file changed

+7
-11
lines changed

src/isal/igzip_threaded.py

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -316,30 +316,26 @@ def write(self, b) -> int:
316316
self.input_queues[worker_index].put((data, zdict))
317317
return len(data)
318318

319-
def _end_gzip_stream(self):
319+
def flush(self):
320320
self._check_closed()
321321
# Wait for all data to be compressed
322322
for in_q in self.input_queues:
323323
in_q.join()
324324
# Wait for all data to be written
325325
for out_q in self.output_queues:
326326
out_q.join()
327-
# Write an empty deflate block with a lost block marker.
327+
self.raw.flush()
328+
329+
def close(self) -> None:
330+
if self._closed:
331+
return
332+
self.flush()
328333
self.raw.write(isal_zlib.compress(b"", wbits=-15))
329334
trailer = struct.pack("<II", self._crc, self._size & 0xFFFFFFFF)
330335
self.raw.write(trailer)
331336
self._crc = 0
332337
self._size = 0
333338
self.raw.flush()
334-
335-
def flush(self):
336-
self._end_gzip_stream()
337-
self._write_gzip_header()
338-
339-
def close(self) -> None:
340-
if self._closed:
341-
return
342-
self._end_gzip_stream()
343339
self.stop()
344340
if self.exception:
345341
self.raw.close()

0 commit comments

Comments
 (0)