------------------ BUG 1 ---------------------
job_stop will not actually stop the process in windows unless I unlet the job 
variable

step to reproduct (windows gvim 7.4.1832):
1. start a background python job (output a single line and sleep 1 second, 
repeat 30 times)
2. redirect stdout/stderr into quickfix window by 'callback'
3. call job_stop with 'term' or 'kill' and ** DO NOT unlet job object **
4. check job_status and it changed from 'run' to 'dead'
5. ERROR: but the job is still running, still output text to quickfix window
6. when it actually exit by it self (after repeat itself 30 times) 'close_cb' 
and 'exit_cb' were invoked

and if I unlet job object after job_stop, everything seems okay, the job can 
actually be stopped
but job object can not be unleted after job_stop, because sometimes child 
process will stop signal from 
being terminated (ignore TERM etc) in this circumstance, if I immediately unlet 
job object after
a no-effect job_stop calling my script will fail into an error environment.

This is only in windows, in linux everything is fine, I can clean the job 
object in exit_cb/close_cb as my wish.
and job_stop doesn't require a unlet in linux too.

------------------ BUG 2 ---------------------
'close_cb' and 'exit_cb' will not be invoked if I stop the job by 
job_stop(s:job_obj, 'int') in windows.

if 'term', 'kill' were used to stop the child process (s:job_obj must be unlet 
after it due to bug 1), 
'close_cb' and 'exit_cb' will be invoked correctly.

But 'close_cb' and 'exit_cb' can be lost if 'term', 'kill' has been replaced to 
'int'.


These two bugs are ONLY in windows (gvim 7.4.1832), 




[email protected]

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui