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

Raspunde prin e-mail lui