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.
diff --git a/src/channel.c b/src/channel.c
index c6f94ee..5e8c6bd 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -334,12 +334,17 @@
  * 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;
 }
 
 /*