summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xmake/modules/async/runjobs.lua14
1 files changed, 14 insertions, 0 deletions
diff --git a/xmake/modules/async/runjobs.lua b/xmake/modules/async/runjobs.lua
index 88f8d552f..f4c7f38bb 100644
--- a/xmake/modules/async/runjobs.lua
+++ b/xmake/modules/async/runjobs.lua
@@ -257,6 +257,20 @@ function main(name, jobs, opt)
if abort_errors == nil then
abort_errors = errors
end
+
+ -- kill all waited objects in this group
+ local waitobjs = scheduler.co_group_waitobjs(group_name)
+ if waitobjs:size() > 0 then
+ for _, obj in waitobjs:keys() do
+ if obj:otype() == scheduler.OT_PROC then
+ obj:kill()
+ elseif obj:otype() == scheduler.OT_SOCK then
+ -- TODO
+ elseif obj:otype() == scheduler.OT_PIPE then
+ -- TODO
+ end
+ end
+ end
end
}
}