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

Jan Holesovsky kendy at collabora.com
Thu Nov 10 12:16:47 UTC 2016


 loolwsd/LOOLWSD.cpp |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

New commits:
commit b8b469c9b2f052e16eeb6d6fdd76638e697763e7
Author: Jan Holesovsky <kendy at collabora.com>
Date:   Thu Nov 10 13:10:46 2016 +0100

    Block when working via http.
    
    It looks like that the implementation details of POCO are thread-unsafe when
    in non-blocking mode, and that is even when the actual sending of the frames
    is guarded by a mutex.
    
    Needs more research; but for the moment, enable non-blocking mode for HTTP.
    
    Change-Id: Idcce3fb55bae73c17d9fc321a2273256c0396664

diff --git a/loolwsd/LOOLWSD.cpp b/loolwsd/LOOLWSD.cpp
index 87cf4a6..7c7f03d 100644
--- a/loolwsd/LOOLWSD.cpp
+++ b/loolwsd/LOOLWSD.cpp
@@ -1123,7 +1123,11 @@ public:
                 try
                 {
                     // First, setup WS options.
-                    ws->setBlocking(false);
+                    // FIXME HACK: This needs a bit deeper research; for the
+                    // moment we block with HTTP because non-blocking causes
+                    // problems; maybe we need that for HTTPS too - to be
+                    // tested
+                    ws->setBlocking(!LOOLWSD::isSSLEnabled());
                     ws->setSendTimeout(WS_SEND_TIMEOUT_MS * 1000);
                     std::string decodedUri;
                     URI::decode(reqPathTokens[1], decodedUri);


More information about the Libreoffice-commits mailing list