diff --git a/lib/rpc.lua b/lib/rpc.lua index fd9286f..c95df60 100644 --- a/lib/rpc.lua +++ b/lib/rpc.lua @@ -37,8 +37,8 @@ function rpc.call(hostname,fn,...) local rt = {} repeat local _, from, port, data = event.pull(30, "net_msg", hostname, rpc.port) - rt = serial.unserialize(data) or {} - until rt[1] == rv or computer.uptime() > st + 30 + rt = serial.unserialize(tostring(data)) or {} + until (type(rt) == "table" and rt[1] == rv) or computer.uptime() > st + 30 if table.remove(rt,1) == rv then return table.unpack(rt) end