From 66f80d8574aeacc5bea61971d18c3e5368c151b8 Mon Sep 17 00:00:00 2001 From: ruki Date: Mon, 8 Apr 2024 23:35:20 +0800 Subject: update some comments --- xmake/modules/private/async/jobpool.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/xmake/modules/private/async/jobpool.lua b/xmake/modules/private/async/jobpool.lua index 533283681..1358e0e12 100644 --- a/xmake/modules/private/async/jobpool.lua +++ b/xmake/modules/private/async/jobpool.lua @@ -110,6 +110,7 @@ function jobpool:getfree() -- get a free job from the leaf jobs local leafjobs = self:_getleafjobs() if not leafjobs:empty() then + -- try to get next free job fastly if self._nextfree then local job = self._nextfree local nextfree = leafjobs:prev(job) @@ -121,6 +122,7 @@ function jobpool:getfree() job.status = JOB_STATUS_PENDING return job end + -- find the next free job local removed_jobs = {} for job in leafjobs:ritems() do if self:_isfree(job) then @@ -134,12 +136,12 @@ function jobpool:getfree() table.insert(removed_jobs, job) end end + -- not found? if remove group and referenced node exist, + -- we try to remove them and find the next free job again if #removed_jobs > 0 then - -- try to remove group and referenced node for _, job in ipairs(removed_jobs) do self:remove(job) end - -- get free job again for job in leafjobs:ritems() do if self:_isfree(job) then local nextfree = leafjobs:prev(job) -- cgit v1.3.1