on master help sign in
allowInterrupt for GHC < 7.2
commit8532b3395bc16e94d535171b1e8291b244e91e5a authorMichael Snoyman <michael@snoyman.com> dateMon 14 May 2012, 05:59 (14 years ago) parentc6c41ac
1 file changed+12−1
warp/Network/Wai/Handler/Warp.hs+12−1
warp/Network/Wai/Handler/Warp.hs+12−1
@@ -5,6 +5,7 @@
55{-# LANGUAGE BangPatterns #-}
66{-# LANGUAGE MagicHash #-}
77{-# LANGUAGE ScopedTypeVariables #-}
8+{-# OPTIONS_GHC -fno-warn-warnings-deprecations #-}
89---------------------------------------------------------
910--
1011-- Module : Network.Wai.Handler.Warp
@@ -71,10 +72,15 @@ import Network (sClose, Socket)
7172import Network.Socket (accept, SockAddr)
7273import qualified Network.Socket.ByteString as Sock
7374import Control.Exception
74− ( mask, allowInterrupt, handle, onException, bracket
75+ ( mask, handle, onException, bracket
7576 , Exception, SomeException
7677 , fromException, AsyncException (ThreadKilled)
7778 , try
79+#if GLASGOW_HASKELL >= 721
80+ , allowInterrupt
81+#else
82+ , unblock
83+#endif
7884 )
7985import Control.Concurrent (forkIO)
8086import Data.Maybe (fromMaybe, isJust)
@@ -125,6 +131,11 @@ import qualified Paths_warp
125131warpVersion :: String
126132warpVersion = showVersion Paths_warp.version
127133
134+#if GLASGOW_HASKELL < 721
135+allowInterrupt :: IO ()
136+allowInterrupt = unblock $ return ()
137+#endif
138+
128139-- |
129140--
130141-- In order to provide slowloris protection, Warp provides timeout handlers. We