diff --git a/src/lua/bsdsocket.lua b/src/lua/bsdsocket.lua index fffbe93a95a5a9e323aa3e3e892494734ba19ac8..793ae416bcb526e79345d27bdcca637f7ca7497f 100644 --- a/src/lua/bsdsocket.lua +++ b/src/lua/bsdsocket.lua @@ -713,6 +713,7 @@ socket_methods.write = function(self, octets, timeout) if not errno_is_transient[self:errno()] then return false end + written = 0 end if written == string.len(octets) then diff --git a/src/lua/net_box.lua b/src/lua/net_box.lua index f824a5c74ee04fe0d819ca7eca67db7a13bca4ed..d275ced5ffed2deb1deae81f3c68656fa806ed96 100644 --- a/src/lua/net_box.lua +++ b/src/lua/net_box.lua @@ -1004,7 +1004,7 @@ local remote_methods = { -- packet on the receiving end, and close the connection. -- Every second sockets we iterate the while loop -- and check the connection state - self.s:writable(1) + while self.s:writable(1) == 0 do end else table.insert(self.wbuf, s) self:_fatal(errno.strerror(errno()))