Merge 0.9->0.10
authorMatthew Wild <mwild1@gmail.com>
Mon, 16 Dec 2013 23:32:11 +0000
changeset 5950 bd1d1c29a7e7
parent 5945 51ead0aa3a02 (current diff)
parent 5949 a9abbdeddbf3 (diff)
child 5951 09645f58c14c
child 5954 6dc73be95213
Merge 0.9->0.10
net/http.lua
net/server_select.lua
--- a/net/http.lua	Mon Dec 16 02:04:16 2013 +0000
+++ b/net/http.lua	Mon Dec 16 23:32:11 2013 +0000
@@ -20,6 +20,7 @@
 local pairs = pairs;
 local tonumber, tostring, xpcall, select, traceback =
       tonumber, tostring, xpcall, select, debug.traceback;
+local assert, error = assert, error
 
 local log = require "util.logger".init("http");
 
@@ -173,7 +174,7 @@
 		sslctx = ex and ex.sslctx or { mode = "client", protocol = "sslv23", options = { "no_sslv2" } };
 	end
 
-	req.handler, req.conn = server.wrapclient(conn, host, port_number, listener, "*a", sslctx);
+	req.handler, req.conn = assert(server.wrapclient(conn, host, port_number, listener, "*a", sslctx));
 	req.write = function (...) return req.handler:write(...); end
 
 	req.callback = function (content, code, request, response) log("debug", "Calling callback, status %s", code or "---"); return select(2, xpcall(function () return callback(content, code, request, response) end, handleerr)); end
--- a/net/server_select.lua	Mon Dec 16 02:04:16 2013 +0000
+++ b/net/server_select.lua	Mon Dec 16 23:32:11 2013 +0000
@@ -920,13 +920,9 @@
 			-- 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