diff options
Diffstat (limited to 'subagents/jobs.lua')
| -rw-r--r-- | subagents/jobs.lua | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/subagents/jobs.lua b/subagents/jobs.lua index 3f9a8af..a774b27 100644 --- a/subagents/jobs.lua +++ b/subagents/jobs.lua @@ -28,7 +28,8 @@ -- `job:close()` frees it. Jobs are otherwise left open until close_all() ends -- the turn, so a result can still be read after its coroutine resumed. -- --- `job:close()` also JOINS the pump, and a pump parked in a tool batch is +-- A settled consumer may close a job immediately after caching its result; +-- otherwise close_all() handles it. `job:close()` also JOINS the pump, and a pump parked in a tool batch is -- waiting on the owner thread to come back to the uv loop — the very thread -- every entry point here runs on. Closing an unsettled job would therefore -- deadlock, so nothing does: only settle() closes a job, once its pump has |
