on master help sign in
Don't throwTo ignorable exceptions #671
commite8aa56ed2a6d47492d139c830d50a69878f836f7 authorMichael Snoyman <michael@snoyman.com> dateWed 31 Jan 2018, 07:55 (9 years ago) parentd43e4b1
3 files changed+10−2
warp/ChangeLog.md+5 warp/Network/Wai/Handler/Warp/WithApplication.hs+4−1 warp/warp.cabal+1−1
warp/ChangeLog.md+5
@@ -1,3 +1,8 @@
1+## 3.2.16
2+
3+* In `testWithApplication`, don't `throwTo` ignorable exceptions
4+ [#671](https://github.com/yesodweb/wai/issues/671)
5+
16## 3.2.15
27
38* Address space leak from exception handlers
warp/Network/Wai/Handler/Warp/WithApplication.hs+4−1
@@ -11,6 +11,7 @@ module Network.Wai.Handler.Warp.WithApplication (
1111import Control.Concurrent
1212import Control.Concurrent.Async
1313import Control.Exception
14+import Control.Monad (when)
1415import Network.Socket
1516import Network.Wai
1617import Network.Wai.Handler.Warp.Run
@@ -71,7 +72,9 @@ testWithApplicationSettings _settings mkApp action = do
7172 app <- mkApp
7273 let wrappedApp request respond =
7374 app request respond `catch` \ e -> do
74− throwTo callingThread (e :: SomeException)
75+ when
76+ (defaultShouldDisplayException e)
77+ (throwTo callingThread e)
7578 throwIO e
7679 withApplication (return wrappedApp) action
7780
warp/warp.cabal+1−1
@@ -1,5 +1,5 @@
11Name: warp
2−Version: 3.2.15
2+Version: 3.2.16
33Synopsis: A fast, light-weight web server for WAI applications.
44License: MIT
55License-file: LICENSE