File tree Expand file tree Collapse file tree 1 file changed +3
-1
lines changed Expand file tree Collapse file tree 1 file changed +3
-1
lines changed Original file line number Diff line number Diff line change @@ -78,12 +78,14 @@ import Control.Monad (when)
78
78
import Control.Exception (Exception , throw , assert )
79
79
import Control.Monad.ST.Lazy hiding (stToIO )
80
80
import Control.Monad.ST.Strict (stToIO )
81
+ import Control.Monad.ST.Unsafe (unsafeIOToST )
81
82
import Data.Typeable (Typeable )
82
83
import qualified Data.ByteString.Lazy as L
83
84
import qualified Data.ByteString.Lazy.Internal as L
84
85
import qualified Data.ByteString as S
85
86
import qualified Data.ByteString.Internal as S
86
87
import Data.Word (Word8 )
88
+ import GHC.IO (noDuplicate )
87
89
88
90
import qualified Codec.Compression.Zlib.Stream as Stream
89
91
import Codec.Compression.Zlib.Stream (Stream )
@@ -733,7 +735,7 @@ mkStateIO = stToIO Stream.mkState
733
735
734
736
runStreamST :: Stream a -> Stream. State s -> ST s (a , Stream. State s )
735
737
runStreamIO :: Stream a -> Stream. State RealWorld -> IO (a , Stream. State RealWorld )
736
- runStreamST strm zstate = strictToLazyST (Stream. runStream strm zstate)
738
+ runStreamST strm zstate = strictToLazyST (unsafeIOToST noDuplicate >> Stream. runStream strm zstate)
737
739
runStreamIO strm zstate = stToIO (Stream. runStream strm zstate)
738
740
739
741
compressStreamIO :: Stream. Format -> CompressParams -> CompressStream IO
You can’t perform that action at this time.
0 commit comments