Mercurial > vim
diff src/testdir/test_channel.vim @ 8859:03250bc0c63a v7.4.1717
commit https://github.com/vim/vim/commit/0e4c1de5560c7f8b4cae539ec8cff0949daba3fc
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Apr 7 21:40:38 2016 +0200
patch 7.4.1717
Problem: Leaking memory when opening a channel fails.
Solution: Unreference partials in job options.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 07 Apr 2016 21:45:05 +0200 |
parents | 176647a751d7 |
children | ed0b39dd7fd6 |
line wrap: on
line diff
--- a/src/testdir/test_channel.vim +++ b/src/testdir/test_channel.vim @@ -1231,5 +1231,17 @@ func Test_job_start_invalid() call assert_fails('call job_start("")', 'E474:') endfunc +" This leaking memory. +func Test_partial_in_channel_cycle() + let d = {} + let d.a = function('string', [d]) + try + let d.b = ch_open('nowhere:123', {'close_cb': d.a}) + catch + call assert_exception('E901:') + endtry + unlet d +endfunc + " Uncomment this to see what happens, output is in src/testdir/channellog. " call ch_logfile('channellog', 'w')