Lua socket.dns.toip не будет работать в потоке рабочих потоков

Я пытаюсь создать многопоточный наблюдатель, который пытается проверить имя хоста. Простой код демонстрирует общую идею. Но я получаю странное поведение сценария, когда я вызываю sock.dns.toip в потоке работника. Работник не выполнен. Если я исключаю код сокета из работника, все работает отлично.

как запустить socket.dns.toip в потоке работника?

local lanes = require "lanes".configure()
local linda = lanes.linda()


local function resolver(name)
    while true do
        local socket = assert(require "socket")
        local _, resolve = socket.dns.toip(string.format("%s.", "www.google.com"))
        print('resolver[' .. name ..']')
    end
end

lanes.gen("", resolver)('a')
os.execute("sleep 0.1")

0 ответов

Другие вопросы по тегам