Xavier de Gaye wrote:
> The messageFromNetbeans() functions call sock_read() with a socket
> opened in blocking mode. When the received data is exactly
> MAXMSGSIZE, the next read() in the loop will block until the IDE sends
> data or disconnects the socket. If the IDE is expecting an answer from
> vim at this time, then vim hangs indefinetely.
>
> Test case:
> ----------
> 1) run vim in netbeans debug mode and add the following statement
> after the sock_read() call:
>
> nbdebug(("got length: %d\n", len));
>
> 2) start clewn in debug mode with '-d', edit a file in vim and run the
> following command in clewn:
>
> (gdb) # 2 insert "01234567890123456789012345678901234567890123456789"
>
> 3) the netbeans.log file indicates that the length of the above
> function sent on the socket is 65, so change the definition of
> MAXMSGSIZE in netbeans.c to:
>
> #define MAXMSGSIZE 65
>
> 4) repeat step 2 and check that vim is hanged
>
>
> Attached is a patch on vim-7.2.385 that fixes this problem on unix.
>
> I am not familiar enough with Windows but it seems that the patch may
> also correct the problem on Windows when 'HAVE_SELECT' is defined in
> Make_ming.mak and Make_mvc.mak.
Thanks! I'll look into it soon.
--
MORTICIAN: What?
CUSTOMER: Nothing -- here's your nine pence.
DEAD PERSON: I'm not dead!
MORTICIAN: Here -- he says he's not dead!
CUSTOMER: Yes, he is.
DEAD PERSON: I'm not!
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ download, build and distribute -- http://www.A-A-P.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