summaryrefslogtreecommitdiff
path: root/xmake/core/base/socket.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2019-10-30 00:41:51 +0800
committerruki <[email protected]>2019-10-29 22:11:09 +0800
commit5f388f24e9c0b2f62101667490a2032306148a35 (patch)
tree8527647e2b1ec8d427088f278f0524bc53712831 /xmake/core/base/socket.lua
parent0ad553e46eb001448cf5acac7ba6d26a11e39eff (diff)
fix socket.recv
Diffstat (limited to 'xmake/core/base/socket.lua')
-rw-r--r--xmake/core/base/socket.lua17
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