------------------ 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.
