--- a/gameServer/ClientIO.hs Sat Oct 08 16:45:52 2011 +0200
+++ b/gameServer/ClientIO.hs Sat Oct 08 16:54:56 2011 +0200
@@ -58,6 +58,10 @@
clientSendLoop :: Socket -> ThreadId -> Chan [B.ByteString] -> ClientIndex -> IO ()
clientSendLoop s tId chan ci = do
answer <- readChan chan
+
+ when (isQuit answer) $
+ killReciever . B.unpack $ quitMessage answer
+
Exception.handle
(\(e :: Exception.IOException) -> unless (isQuit answer) . killReciever $ show e) $
sendAll s $ B.unlines answer `B.snoc` '\n'
@@ -65,7 +69,6 @@
if isQuit answer then
do
Exception.handle (\(_ :: Exception.IOException) -> putStrLn "error on sClose") $ sClose s
- killReciever . B.unpack $ quitMessage answer
else
clientSendLoop s tId chan ci