]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Possible fix for OpenSSL SendQ processing halts
authorDaniel De Graaf <danieldg@inspircd.org>
Sat, 17 Apr 2010 04:10:58 +0000 (23:10 -0500)
committerDaniel De Graaf <danieldg@inspircd.org>
Sat, 17 Apr 2010 04:12:06 +0000 (23:12 -0500)
src/modules/extra/m_ssl_openssl.cpp

index a0302fa9cb64207ba44467016c34c20f9e859e50..d163cebb7eb9a4685e083528fe122fbb9a5cb4ad 100644 (file)
@@ -381,6 +381,8 @@ class ModuleSSLOpenSSL : public Module
                        if (ret > 0)
                        {
                                recvq.append(buffer, ret);
+                               if (session->data_to_write)
+                                       ServerInstance->SE->ChangeEventMask(user, FD_WANT_POLL_READ | FD_WANT_SINGLE_WRITE);
                                return 1;
                        }
                        else if (ret == 0)
@@ -470,7 +472,7 @@ class ModuleSSLOpenSSL : public Module
                                }
                                else if (err == SSL_ERROR_WANT_READ)
                                {
-                                       ServerInstance->SE->ChangeEventMask(user, FD_WANT_POLL_READ | FD_WANT_NO_WRITE);
+                                       ServerInstance->SE->ChangeEventMask(user, FD_WANT_POLL_READ);
                                        return 0;
                                }
                                else