diff options
author | Joe Crayne <joe@jerkface.net> | 2020-01-14 15:28:14 -0500 |
---|---|---|
committer | Joe Crayne <joe@jerkface.net> | 2020-01-14 15:28:22 -0500 |
commit | 3940bf1dbf706f984388c5d55fb5e889e12864d5 (patch) | |
tree | f810af052cf59481895cbfa70ecd4ea4bdcd96b5 | |
parent | 3197cc3d13f00c6f3cf1600b601007d737aea086 (diff) |
relaySession exception handler.
-rw-r--r-- | dht/src/Network/Tox/Relay.hs | 4 | ||||
-rw-r--r-- | server/src/Network/StreamServer.hs | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/dht/src/Network/Tox/Relay.hs b/dht/src/Network/Tox/Relay.hs index b315648a..6a1f04fa 100644 --- a/dht/src/Network/Tox/Relay.hs +++ b/dht/src/Network/Tox/Relay.hs | |||
@@ -273,7 +273,9 @@ tcpRelay crypto udp_addr sendOnion = do | |||
273 | bany <- getBindAddress "" True | 273 | bany <- getBindAddress "" True |
274 | h <- forkStreamServer ServerConfig | 274 | h <- forkStreamServer ServerConfig |
275 | { serverWarn = dput XMisc | 275 | { serverWarn = dput XMisc |
276 | , serverSession = relaySession crypto clients cons sendOnion | 276 | , serverSession = \s n h -> relaySession crypto clients cons sendOnion s n h |
277 | `catchIOError` \e -> do | ||
278 | dput XRelay $ "relaySession died: " ++ show e | ||
277 | } | 279 | } |
278 | [b443,b80,b3389,udp_addr,b33445,bany] | 280 | [b443,b80,b3389,udp_addr,b33445,bany] |
279 | return (h,sendTCP_ clients) | 281 | return (h,sendTCP_ clients) |
diff --git a/server/src/Network/StreamServer.hs b/server/src/Network/StreamServer.hs index c60ba99d..8ebdf678 100644 --- a/server/src/Network/StreamServer.hs +++ b/server/src/Network/StreamServer.hs | |||
@@ -148,7 +148,7 @@ forkStreamServer cfg addrs0 = do | |||
148 | listen sock maxListenQueue | 148 | listen sock maxListenQueue |
149 | thread <- mkWeakThreadId <=< forkIO $ do | 149 | thread <- mkWeakThreadId <=< forkIO $ do |
150 | bindaddr <- Socket.getSocketName sock | 150 | bindaddr <- Socket.getSocketName sock |
151 | myThreadId >>= flip labelThread ("StreamServer.acceptLoop." <> bshow bindaddr) | 151 | myThreadId >>= flip labelThread ("stream.acceptLoop." <> bshow bindaddr) |
152 | acceptLoop cfg sock 0 | 152 | acceptLoop cfg sock 0 |
153 | return (ServerHandle sock thread) | 153 | return (ServerHandle sock thread) |
154 | 154 | ||
@@ -162,7 +162,7 @@ acceptLoop cfg sock n = handle (acceptException cfg n sock) $ do | |||
162 | laddr <- Socket.getSocketName con | 162 | laddr <- Socket.getSocketName con |
163 | h <- socketToHandle con ReadWriteMode | 163 | h <- socketToHandle con ReadWriteMode |
164 | forkIO $ do | 164 | forkIO $ do |
165 | myThreadId >>= flip labelThread "StreamServer.session" | 165 | myThreadId >>= flip labelThread ("stream.session." ++ show (canonize raddr)) |
166 | serverSession cfg (restrictHandleSocket h con, (Local laddr, Remote raddr)) conkey h | 166 | serverSession cfg (restrictHandleSocket h con, (Local laddr, Remote raddr)) conkey h |
167 | acceptLoop cfg sock (n + 1) | 167 | acceptLoop cfg sock (n + 1) |
168 | 168 | ||