Juan, see this issue: https://github.com/tarruda/vim/issues/5
That means even if you have a 100% stable implementation, embedded scripting languages that spawn threads may not set their sigmasks(this is a out of our control), meaning vim's signal handlers can run in spawned threads causing crashes. Its just too unsafe to spawn threads in vim without modifying vim's signal handling code. If you want to work on a stable solution that brings multitasking to vim, look at the other patch that implemnents job control in vimscript: https://groups.google.com/forum/#!topic/vim_dev/QF7Bzh1YABU . In the end I prefer the job control approach over this one since its much more flexible and stable. The job control integrates with vim very similarly to the latest version of the event loop patch: Overriding a low-level input function, ui_inchar which is called by all UIs(from the terminal UI to all GUIs) by a custom implementation that polls for job updates. When an update happens it simply returns a special key that is handled by vim loops. Its similar to how cursorhold events are implemented. It works very well. Heres the relevant changes if you want to play with it: https://github.com/tarruda/vim/commit/87d8acb941b1059e38e9c5a9947947dafcb9ab30 On Thu, Feb 20, 2014 at 2:29 AM, Juan Campa <[email protected]> wrote: > On Wednesday, February 19, 2014 10:11:52 PM UTC-5, ZyX wrote: > > Not when it gets the chance. Check out the following: make server run > `while 1 | sleep 1 | endwhile` and send that expression (I tested it on > `input("abc")`). You will see that despite something being run received > expression will still be processed. Though I am unable to reproduce this I > remember @MarcWeber complaining about random crashes when using this > feature on daily basis. Not too likely but still happening. > > That was unexpected. I'll take a look into Vim's code just out of > curiosity to see how these remote calls are being handled. I guess I have > to wait for a robust solution to this problem but in the meantime I'll work > with this solution and hope the odds favor me. > > Thanks for pointing that out ZyX, please let me know if you find a way to > make this work. > > -- > -- > 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/groups/opt_out. > -- -- 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/groups/opt_out.
