diff --git a/runner-wrapper.lua b/runner-wrapper.lua index bcd8ba7..635ff75 100644 --- a/runner-wrapper.lua +++ b/runner-wrapper.lua @@ -222,8 +222,8 @@ return function(promise) local waiters = {} for i=1,#speciesSlice,1 do + local outputPipe = _M.poppets[i].output local waiter = util.promiseWrap(function() - local outputPipe = _M.poppets[i].output local line = outputPipe:read("*l") print("Started receiving output from child process "..i) diff --git a/util.lua b/util.lua index 8fd9fb3..822330d 100644 --- a/util.lua +++ b/util.lua @@ -12,9 +12,9 @@ _M.isWin = package.config:sub(1, 1) == '\\' --- Useful for decoupling code from the original event it was fired in. ---@param next function The function to resolve on the next tick ---@return Promise Promise A promise that returns the value of the next function -function _M.promiseWrap(next) +function _M.promiseWrap(next, value) local promise = Promise.new() - promise:resolve() + promise:resolve(value) return promise:next(next) end