0
0
mirror of https://github.com/vim/vim.git synced 2025-09-28 04:24:06 -04:00

patch 7.4.1451

Problem:    Vim hangs when a channel has a callback but isn't referenced.
Solution:   Have channel_unref() only return TRUE when the channel was
            actually freed.
This commit is contained in:
Bram Moolenaar
2016-02-28 19:28:59 +01:00
parent 1c39102666
commit 707659490d
4 changed files with 10 additions and 6 deletions

View File

@@ -334,12 +334,17 @@ channel_still_useful(channel_T *channel)
* Close a channel and free all its resources if there is no further action
* possible, there is no callback to be invoked or the associated job was
* killed.
* Return TRUE if the channel was freed.
*/
void
int
channel_may_free(channel_T *channel)
{
if (!channel_still_useful(channel))
{
channel_free(channel);
return TRUE;
}
return FALSE;
}
/*