diff --git a/src/lua/bsdsocket.lua b/src/lua/bsdsocket.lua index b0b758c17f7a7d18a90af2b1bfbc82af02f5739a..723383c98b8741f9662d99efafa5b47dddce7e0f 100644 --- a/src/lua/bsdsocket.lua +++ b/src/lua/bsdsocket.lua @@ -925,6 +925,7 @@ end socket_mt = { __index = socket_methods, __tostring = function(self) + local save_errno = self._errno local name = sprintf("fd %d", self.fh) local aka = self:name() if aka ~= nil then @@ -934,6 +935,7 @@ socket_mt = { if peer ~= nil then name = sprintf("%s, peer %s:%s", name, peer.host, peer.port) end + self._errno = save_errno return name end }