mirror of
https://github.com/neovim/neovim.git
synced 2025-12-10 00:22:41 +00:00
fix(vim.system): don't process non-fast events during wait() (#27300)
Problem: Processing non-fast events during SystemObj:wait() may cause two pieces of code to interfere with each other, and is different from jobwait(). Solution: Don't process non-fast events during SystemObj:wait().
This commit is contained in:
@@ -94,14 +94,14 @@ function SystemObj:wait(timeout)
|
||||
|
||||
local done = vim.wait(timeout or state.timeout or MAX_TIMEOUT, function()
|
||||
return state.result ~= nil
|
||||
end)
|
||||
end, nil, true)
|
||||
|
||||
if not done then
|
||||
-- Send sigkill since this cannot be caught
|
||||
self:_timeout(SIG.KILL)
|
||||
vim.wait(timeout or state.timeout or MAX_TIMEOUT, function()
|
||||
return state.result ~= nil
|
||||
end)
|
||||
end, nil, true)
|
||||
end
|
||||
|
||||
return state.result
|
||||
|
||||
Reference in New Issue
Block a user