diff options
| author | ruki <[email protected]> | 2024-04-08 23:35:20 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2024-04-08 23:35:20 +0800 |
| commit | 66f80d8574aeacc5bea61971d18c3e5368c151b8 (patch) | |
| tree | e9086e253ea6d580dcb1da6b0c0ae75eca7c2a4a | |
| parent | 34ebb2a55c530ec3c050b6dd93e09cef0f6af245 (diff) | |
update some comments
| -rw-r--r-- | xmake/modules/private/async/jobpool.lua | 6 |
1 files 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) |
