summaryrefslogtreecommitdiff
path: root/xmake/core/base/process.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2019-08-17 11:15:16 +0800
committerruki <[email protected]>2019-08-17 11:15:16 +0800
commitd5b72e56e42746b7e8bae07d3a4070bd2721829b (patch)
tree1304a524fd71b40ee5ff47b7b98ff68ccfb24582 /xmake/core/base/process.lua
parent45a548d4329975c113ac0f225f98afcf5f2b0724 (diff)
improve waitlist
Diffstat (limited to 'xmake/core/base/process.lua')
-rw-r--r--xmake/core/base/process.lua14
1 files changed, 14 insertions, 0 deletions
diff --git a/xmake/core/base/process.lua b/xmake/core/base/process.lua
index 3102da184..0541f98c6 100644
--- a/xmake/core/base/process.lua
+++ b/xmake/core/base/process.lua
@@ -140,6 +140,20 @@ end
-- end
--
function process.waitlist(proclist, timeout)
+ local procs = {}
+ for _, proc in ipairs(proclist) do
+ table.insert(procs, proc._PROC)
+ end
+ local count, list = process._waitlist(procs, timeout)
+ if count > 0 and list then
+ for _, procinfo in ipairs(list) do
+ local proc = procinfo[1]
+ local index = procinfo[2]
+ procinfo[1] = proclist[index]
+ assert(proc == procinfo[1]._PROC)
+ end
+ end
+ return count, list
end
-- async run task and echo waiting info