[Libreoffice-commits] online.git: loolwsd/IoUtil.cpp

Tor Lillqvist tml at collabora.com
Thu Sep 1 16:48:30 UTC 2016


 loolwsd/IoUtil.cpp |   10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

New commits:
commit a97058705355c68f3ef3d5ba2cd02fab97bbb0ec
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu Sep 1 19:44:51 2016 +0300

    Ignore unexpected TimeoutException from receiveFrame() in SocketProcessor()
    
    Seems to get rid of some (maybe all) "unexpected connection error"
    issues for me at least.

diff --git a/loolwsd/IoUtil.cpp b/loolwsd/IoUtil.cpp
index 868b4ba..8077cab 100644
--- a/loolwsd/IoUtil.cpp
+++ b/loolwsd/IoUtil.cpp
@@ -96,7 +96,15 @@ void SocketProcessor(const std::shared_ptr<WebSocket>& ws,
             }
 
             payload.resize(payload.capacity());
-            n = receiveFrame(*ws, payload.data(), payload.capacity(), flags);
+            try
+            {
+                n = receiveFrame(*ws, payload.data(), payload.capacity(), flags);
+            }
+            catch (const TimeoutException &)
+            {
+                Log::debug("SocketProcessor: Spurious TimeoutException, ignored");
+                continue;
+            }
             payload.resize(n > 0 ? n : 0);
 
             if (n <= 0 || ((flags & WebSocket::FRAME_OP_BITMASK) == WebSocket::FRAME_OP_CLOSE))


More information about the Libreoffice-commits mailing list