Краш при создании нового потока

EndoHokage

Активный
Автор темы
136
55
Версия MoonLoader
.026-beta
Привет, у меня получается запущено 3 потока и в каждом потоке бесконечный цыкл. Мне нужно создать ещё один поток, но после того как я его запустил, у меня скрипт крашит с причиной
Код:
cannot resume non-suspended coroutine
stack traceback:
    in function 'resume'
    *Путь*\copas.lua:560: in function '_doTick'
    *Путь*\copas.lua:587: in function 'def_tick'
    *Путь*\copas.lua:685: in function 'tick'
    *Путь*\copas.lua:795: in function 'step'
Как я понял ругается на создания потока в функции запроса.
Функция:
Lua:
function httpRequest(request, body, handler) -- copas.http
    -- start polling task
    if not copas.running then
        copas.running = true
        lua_thread.create(function()
            wait(0)
            while not copas.finished() do
                local ok, err = copas.step(0)
                if ok == nil then error(err) end
                wait(0)
            end
            copas.running = false
        end)
    end
    -- do request
    if handler then
        return copas.addthread(function(r, b, h)
            copas.setErrorHandler(function(err) h(nil, err) end)
            h(http.request(r, b))
        end, request, body, handler)
    else
        local results
        local thread = copas.addthread(function(r, b)
            copas.setErrorHandler(function(err) results = {nil, err} end)
            results = table.pack(http.request(r, b))
        end, request, body)
        while coroutine.status(thread) ~= 'dead' do wait(0) end
        return table.unpack(results)
    end
end

Заранее спасибо
 
Последнее редактирование:
  • Нравится
Реакции: Mamory