summaryrefslogtreecommitdiff
path: root/src/modules/extra
diff options
context:
space:
mode:
authorDaniel De Graaf <danieldg@inspircd.org>2010-04-16 23:10:58 -0500
committerDaniel De Graaf <danieldg@inspircd.org>2010-04-16 23:12:06 -0500
commit8bc982f68d9bc1c0408569e7b3a8290b727cf9b8 (patch)
tree57fa3af1b06841b467b4ce66eb561be16017562e /src/modules/extra
parent49223cfe12ecd9071123f724e615e63841f2421d (diff)
Possible fix for OpenSSL SendQ processing halts
Diffstat (limited to 'src/modules/extra')
-rw-r--r--src/modules/extra/m_ssl_openssl.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/modules/extra/m_ssl_openssl.cpp b/src/modules/extra/m_ssl_openssl.cpp
index a0302fa9c..d163cebb7 100644
--- a/src/modules/extra/m_ssl_openssl.cpp
+++ b/src/modules/extra/m_ssl_openssl.cpp
@@ -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