diff options
author | Daniel De Graaf <danieldg@inspircd.org> | 2010-04-16 23:10:58 -0500 |
---|---|---|
committer | Daniel De Graaf <danieldg@inspircd.org> | 2010-04-16 23:12:06 -0500 |
commit | 8bc982f68d9bc1c0408569e7b3a8290b727cf9b8 (patch) | |
tree | 57fa3af1b06841b467b4ce66eb561be16017562e /src/modules/extra | |
parent | 49223cfe12ecd9071123f724e615e63841f2421d (diff) |
Possible fix for OpenSSL SendQ processing halts
Diffstat (limited to 'src/modules/extra')
-rw-r--r-- | src/modules/extra/m_ssl_openssl.cpp | 4 |
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 |