diff options
| author | ruki <[email protected]> | 2019-10-30 00:41:51 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2019-10-29 22:11:09 +0800 |
| commit | 5f388f24e9c0b2f62101667490a2032306148a35 (patch) | |
| tree | 8527647e2b1ec8d427088f278f0524bc53712831 /xmake/core/base/socket.lua | |
| parent | 0ad553e46eb001448cf5acac7ba6d26a11e39eff (diff) | |
fix socket.recv
Diffstat (limited to 'xmake/core/base/socket.lua')
| -rw-r--r-- | xmake/core/base/socket.lua | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/xmake/core/base/socket.lua b/xmake/core/base/socket.lua index e3cd1fa69..6ee878bd8 100644 --- a/xmake/core/base/socket.lua +++ b/xmake/core/base/socket.lua @@ -299,10 +299,11 @@ function _instance:recv(size, opt) local recv = 0 local real = 0 local wait = false - local data_or_errors = opt.prevdata + local data = opt.prevdata + local errors = nil if opt.block then while recv < size do - real, data_or_errors = io.socket_recv(self._SOCK, size - recv, data_or_errors) + real, data, errors = io.socket_recv(self._SOCK, size - recv, data) if real > 0 then recv = recv + real wait = false @@ -311,7 +312,7 @@ function _instance:recv(size, opt) if events == socket.EV_RECV then wait = true else - data_or_errors = waiterrs + errors = waiterrs break end else @@ -319,12 +320,12 @@ function _instance:recv(size, opt) end end else - recv, data_or_errors = io.socket_recv(self._SOCK, size, data_or_errors) - if recv < 0 and data_or_errors then - data_or_errors = string.format("%s: %s", self, data_or_errors) - end + recv, data, errors = io.socket_recv(self._SOCK, size, data) + end + if recv < 0 and errors then + errors = string.format("%s: %s", self, errors) end - return recv, data_or_errors + return recv, data, errors end -- wait socket events |
