Use Data.ByteString.copy on receive buffer to allow it free no longer used memory
authorunc0rr
Tue, 29 Jan 2013 00:03:56 +0400 (2013-01-28)
changeset 8454 46b59c529bb1
parent 8453 06541556df53
child 8455 c86c7d1fc9fc
Use Data.ByteString.copy on receive buffer to allow it free no longer used memory
gameServer/ClientIO.hs
--- a/gameServer/ClientIO.hs	Sun Jan 27 20:17:30 2013 -0500
+++ b/gameServer/ClientIO.hs	Tue Jan 29 00:03:56 2013 +0400
@@ -37,7 +37,7 @@
             unless (B.null recvBS) $ do
                 let (packets, newrecvBuf) = bs2Packets $ B.append recvBuf recvBS
                 forM_ packets sendPacket
-                receiveWithBufferLoop newrecvBuf
+                receiveWithBufferLoop $ B.copy newrecvBuf
 
         sendPacket packet = writeChan chan $ ClientMessage (ci, packet)