switch from hGetSome to hGet
This should be essentially no-op change for hGetContentsMetered, since it
always gets the entire contents. So the only difference is that each chunk
of the lazy bytestring will always be the full chunk size. So, I'm pretty
sure this is safe. Also, the only current users of hGetContentsMetered are
reading files, so the stream won't block for long in the middle.
The improvement is that hGetUntilMetered will always get some multiple of
the defaultChunkSize. This will allow the S3 multipart code to pick a fixed
size and know that hGetUntilMetered will really get that size.
(cherry picked from commit bd09046291
)
This commit is contained in:
parent
264f4cd7ca
commit
5d946fe3a9
1 changed files with 1 additions and 1 deletions
|
@ -120,7 +120,7 @@ hGetUntilMetered h keepgoing meterupdate = lazyRead zeroBytesProcessed
|
|||
lazyRead sofar = unsafeInterleaveIO $ loop sofar
|
||||
|
||||
loop sofar = do
|
||||
c <- S.hGetSome h defaultChunkSize
|
||||
c <- S.hGet h defaultChunkSize
|
||||
if S.null c
|
||||
then do
|
||||
hClose h
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue