I checked the windows task manager and found that it was really hanging.


skywind3...@163.com
 
From: Bram Moolenaar
Date: 2016-05-20 00:25
To: skywind3...@163.com
CC: vim-dev
Subject: Re: Re: job_stop is unusable in windows (gvim 7.4.1832) (2 bugs)
 
Skywind wrote:
 
> >> 'close_cb' and 'exit_cb' will not be invoked if I stop the job by 
> >> job_stop(s:job_obj, 'int') in windows.
> 
> > This is because on Windows we don't know the effect of sending 'int'.
> > It basically sends a CTRL-C key.  The process may do nothing with it.
> 
> thanks for reply, but in windows child process has already been stopped by 
> 'int' signal,
> but the following 'close_cb' or 'exit_cb' has never been invocated.
> 
> Seems vim doesn't know the child process has already been exited in windows
> and still "looking for messages on channels"
> 
> here is my channel log:
> 
> ==== start log session ====
>  16.528877 : Starting job: cmd.exe /C d:\acm\github\vim\tools\win32/vimmake.6
>  16.529539 on 0: Created channel
>  16.597577 : looking for messages on channels
>  16.800522 RECV on 0: '[0]: stdout
> '
>  16.800562 on 0: Invoking channel callback g:Vimmake_Build_OnCallback
>  16.925442 : looking for messages on channels
>  17.748489 RECV on 0: '[1]: stderr
> '
>  17.748529 on 0: Invoking channel callback g:Vimmake_Build_OnCallback
>  17.793600 : looking for messages on channels
>  18.727212 RECV on 0: '[2]: stdout
> '
>  18.727251 on 0: Invoking channel callback g:Vimmake_Build_OnCallback
>  18.753327 : looking for messages on channels
>  19.745455 RECV on 0: '[3]: stderr
> '
>  19.745493 on 0: Invoking channel callback g:Vimmake_Build_OnCallback
>  19.781825 : looking for messages on channels
>  20.753949 RECV on 0: '[4]: stdout
> '
>  20.753980 on 0: Invoking channel callback g:Vimmake_Build_OnCallback
>  20.818269 : looking for messages on channels
>  21.751584 RECV on 0: '[5]: stderr
> '
>  21.751617 on 0: Invoking channel callback g:Vimmake_Build_OnCallback
>  21.865572 : looking for messages on channels
>  22.731953 RECV on 0: '[6]: stdout
> '
>  22.732024 on 0: Invoking channel callback g:Vimmake_Build_OnCallback
>  22.850624 : looking for messages on channels
>  23.772697 RECV on 0: '[7]: stderr
> '
>  23.772735 on 0: Invoking channel callback g:Vimmake_Build_OnCallback
>  23.889643 : looking for messages on channels
>  24.785400 RECV on 0: '[8]: stdout
> '
>  24.785437 on 0: Invoking channel callback g:Vimmake_Build_OnCallback
>  24.851843 : looking for messages on channels
>  25.058043 on 0: Stopping job with 'int'
>  25.078212 RECV on 0: 'Traceback (most recent call last):
>   File "d:\acm\github\vim\tools\test.py", line 11, in <module>
>     time.sleep(1)
> KeyboardInterrupt
> '
>  25.078232 : looking for messages on channels
>  25.078273 on 0: Invoking channel callback g:Vimmake_Build_OnCallback
>  25.089159 on 0: Invoking channel callback g:Vimmake_Build_OnCallback
>  25.099039 on 0: Invoking channel callback g:Vimmake_Build_OnCallback
>  25.104338 on 0: Invoking channel callback g:Vimmake_Build_OnCallback
>  25.211838 RECV on 0: 'Terminate batch job (Y/N)? '
>  25.211873 : looking for messages on channels
> 
> ------------
> that's all of the channel log, cannot find any 'close_cb' and 'exit_cb' in 10 
> minutes after job stopped.
 
Isn't that because the process is hanging in that Y/N prompt?  How do
you know the process finished and exited?
 
-- 
Westheimer's Discovery:
        A couple of months in the laboratory can
        frequently save a couple of hours in the library.
 
/// Bram Moolenaar -- b...@moolenaar.net -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
 
-- 
-- 
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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

-- 
-- 
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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui