net.server_select: Don't remove the socket from sendlist when we might have data...
authorMatthew Wild <mwild1@gmail.com>
Mon, 16 Dec 2013 23:31:43 +0000 (23:31 +0000)
committerMatthew Wild <mwild1@gmail.com>
Mon, 16 Dec 2013 23:31:43 +0000 (23:31 +0000)
net/server_select.lua

index d08947159df2c03bbab51522f4b87a632e57e807..2288726508ff8bbbf40e41fc868ac5ae5a3a11f5 100644 (file)
@@ -916,13 +916,9 @@ local wrapclient = function( socket, ip, serverport, listeners, pattern, sslctx
                        -- When socket is writeable, call onconnect
                        local _sendbuffer = handler.sendbuffer;
                        handler.sendbuffer = function ()
-                               _sendlistlen = removesocket( _sendlist, socket, _sendlistlen );
                                handler.sendbuffer = _sendbuffer;
                                listeners.onconnect(handler);
-                               -- If there was data with the incoming packet, handle it now.
-                               if #handler:bufferqueue() > 0 then
-                                       return _sendbuffer();
-                               end
+                               return _sendbuffer(); -- Send any queued outgoing data
                        end
                end
        end