aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2014-09-26 17:16:46 +0100
committerMatthew Wild <mwild1@gmail.com>2014-09-26 17:16:46 +0100
commitf8776db280ceaacf9bf1f314e0b2e292090db297 (patch)
tree84656b35e7186ffddc11981b93dbb5ba33ad4744
parent6aec6e84256f5411131b740ca16f31f065961fce (diff)
downloadprosody-f8776db280ceaacf9bf1f314e0b2e292090db297.tar.gz
prosody-f8776db280ceaacf9bf1f314e0b2e292090db297.zip
net.server_select: When an SSL handshake is connected, if there is pending data to be written to the socket, mark the socket as waiting to send (thanks daurnimator)
-rw-r--r--net/server_select.lua3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/server_select.lua b/net/server_select.lua
index d2192f0a..33c18a60 100644
--- a/net/server_select.lua
+++ b/net/server_select.lua
@@ -568,6 +568,9 @@ wrapconnection = function( server, listeners, socket, ip, serverport, clientport
_ = status and status( handler, "ssl-handshake-complete" )
if self.autostart_ssl and listeners.onconnect then
listeners.onconnect(self);
+ if bufferqueuelen ~= 0 then
+ _sendlistlen = addsocket(_sendlist, client, _sendlistlen)
+ end
end
_readlistlen = addsocket(_readlist, client, _readlistlen)
return true