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
commit2967393ae804d87f2cd97c97bf8cf58b501f4e67 (patch)
tree84656b35e7186ffddc11981b93dbb5ba33ad4744
parent3e8095f15030fc121154423f65d5c7cdd5e049fd (diff)
downloadprosody-2967393ae804d87f2cd97c97bf8cf58b501f4e67.tar.gz
prosody-2967393ae804d87f2cd97c97bf8cf58b501f4e67.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