on master help sign in
Merge pull request #323 from derekelkins/master

Make sure Timer is tickled in sendfile.

commit95dd0a71ce3ae6663ee5b75cbd33e4df38278255 authorMichael Snoyman <michael@snoyman.com> dateWed 7 Jan 2015, 08:13 (12 years ago) parent93ed763fa31d1c
1 file changed+2−1
warp-tls/Network/Wai/Handler/WarpTLS.hs+2−1
warp-tls/Network/Wai/Handler/WarpTLS.hs+2−1
@@ -222,7 +222,7 @@ httpOverTls TLSSettings{..} s cachedRef params = do
222222 , connBufferSize = bufferSize
223223 }
224224 where
225− sendfile fp offset len _th headers = do
225+ sendfile fp offset len tickle headers = do
226226 TLS.sendData ctx $ L.fromChunks headers
227227 IO.withBinaryFile fp IO.ReadMode $ \h -> do
228228 IO.hSeek h IO.AbsoluteSeek offset
@@ -234,6 +234,7 @@ httpOverTls TLSSettings{..} s cachedRef params = do
234234 unless (B.null bs) $ do
235235 let x = B.take remaining bs
236236 TLS.sendData ctx $ L.fromChunks [x]
237+ tickle -- This tickles the Timer. It MUST be called per chunk.
237238 loop h $ remaining - B.length x
238239
239240 close = freeBuffer readBuf `finally`