mirror of
https://github.com/neovim/neovim.git
synced 2025-10-17 07:16:09 +00:00
Add overlapped option to jobstart
When UV_OVERLAPPED_PIPE was used for the pipe passed to the child process, a problem occurred with the standard input of the .Net Framework application (#11809). Therefore, add the overlapped option to jobstart() and change it so that it is set only when necessary
This commit is contained in:
@@ -3,8 +3,11 @@
|
||||
" Start the provider and perform a 'poll' request
|
||||
"
|
||||
" Returns a valid channel on success
|
||||
function! provider#Poll(argv, orig_name, log_env) abort
|
||||
function! provider#Poll(argv, orig_name, log_env, ...) abort
|
||||
let job = {'rpc': v:true, 'stderr_buffered': v:true}
|
||||
if a:0
|
||||
let job = extend(job, a:1)
|
||||
endif
|
||||
try
|
||||
let channel_id = jobstart(a:argv, job)
|
||||
if channel_id > 0 && rpcrequest(channel_id, 'poll') ==# 'ok'
|
||||
|
@@ -19,7 +19,7 @@ function! provider#pythonx#Require(host) abort
|
||||
call add(args, plugin.path)
|
||||
endfor
|
||||
|
||||
return provider#Poll(args, a:host.orig_name, '$NVIM_PYTHON_LOG_FILE')
|
||||
return provider#Poll(args, a:host.orig_name, '$NVIM_PYTHON_LOG_FILE', {'overlapped': v:true})
|
||||
endfunction
|
||||
|
||||
function! s:get_python_executable_from_host_var(major_version) abort
|
||||
|
@@ -5506,6 +5506,11 @@ jobstart({cmd}[, {opts}]) *jobstart()*
|
||||
stdout data.
|
||||
|on_stderr|: (function) Callback invoked when the job emits
|
||||
stderr data.
|
||||
overlapped: (boolean) Set FILE_FLAG_OVERLAPPED for the
|
||||
standard input/output passed to the child process.
|
||||
Normally you do not need to set this.
|
||||
(Only available on MS-Windows, On other
|
||||
platforms, this option is silently ignored.)
|
||||
pty: (boolean) Connect the job to a new pseudo
|
||||
terminal, and its streams to the master file
|
||||
descriptor. Then `on_stderr` is ignored,
|
||||
|
Reference in New Issue
Block a user