fix(vim.system): close check handle (#24270)

Fix hang after running vim.system() with sanitizers.
This commit is contained in:
zeertzjq 2023-07-06 12:56:19 +08:00 committed by GitHub
parent 25e62697c3
commit 2afb04758c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 4 additions and 5 deletions

View File

@ -287,6 +287,7 @@ function M.run(cmd, opts, on_exit)
end
end
check:stop()
check:close()
state.done = true
state.result = {

View File

@ -440,7 +440,7 @@ describe('API', function()
eq({mode='n', blocking=false}, nvim("get_mode"))
end)
it('Does not cause heap buffer overflow with large output', function()
it('does not cause heap buffer overflow with large output', function()
eq(eval('string(range(1000000))'),
nvim('command_output', 'echo range(1000000)'))
end)
@ -4411,8 +4411,6 @@ describe('API', function()
eq('1', meths.cmd({cmd = 'echo', args = {true}}, {output = true}))
end)
describe('first argument as count', function()
before_each(clear)
it('works', function()
command('vsplit | enew')
meths.cmd({cmd = 'bdelete', args = {meths.get_current_buf()}}, {})

View File

@ -5,7 +5,7 @@ local exec_lua = helpers.exec_lua
local clear = helpers.clear
local feed = helpers.feed
local eval = helpers.eval
local is_os = helpers.is_os
local is_ci = helpers.is_ci
local poke_eventloop = helpers.poke_eventloop
describe('vim.ui', function()
@ -134,7 +134,7 @@ describe('vim.ui', function()
describe('open()', function()
it('validation', function()
if not is_os('bsd') then
if is_ci('github') then
matches('vim.ui.open: command failed %(%d%): { "[^"]+", "non%-existent%-file" }',
exec_lua[[local _, err = vim.ui.open('non-existent-file') ; return err]])
end