mirror of
https://github.com/neovim/neovim.git
synced 2024-12-21 19:55:04 -07:00
58318af718
Problem: If a job exits while waiting on another job, the on_exit handler is queued but f_jobwait() skips it. Solution: Always do process_wait(), so that handlers are run during f_jobwait(). fix #8302 Test case: $ BUSTED_ARGS="--repeat=2000 --no-keep-going" TEST_FILE=test/functional/core/job_spec.lua TEST_FILTER=waiting make functionaltest Failure example (macOS CI): FAILED test/functional/core/job_spec.lua: jobs jobwait will run callbacks while waiting test/functional/core/job_spec.lua:606: Expected objects to be the same. Passed in: (table: 0x1be77c80) { [1] = 'notification' [2] = 'wait' *[3] = { *[1] = 3 } } Expected: (table: 0x1be77d10) { [1] = 'notification' [2] = 'wait' *[3] = { *[1] = 4 } } stack traceback: test/functional/core/job_spec.lua:606: in function <test/functional/core/job_spec.lua:583 |
||
---|---|---|
.. | ||
api | ||
autocmd | ||
cmdline | ||
core | ||
eval | ||
ex_cmds | ||
fixtures | ||
insert | ||
legacy | ||
lua | ||
normal | ||
options | ||
plugin | ||
provider | ||
shada | ||
terminal | ||
ui | ||
viml | ||
example_spec.lua | ||
helpers.lua | ||
preload.lua |