patch 7.4.1355
Problem:    Win32 console and GUI handle channels differently.
Solution:   Consolidate code between Win32 console and GUI.
diff --git a/src/os_win32.c b/src/os_win32.c
index 63d7d60..ae1f0d8 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -1128,30 +1128,6 @@
     SetConsoleMode(g_hConIn, cmodein);
 }
 
-#ifdef FEAT_CHANNEL
-    static int
-handle_channel_event(void)
-{
-    int		    ret;
-    fd_set	    rfds;
-    int		    maxfd;
-
-    FD_ZERO(&rfds);
-    maxfd = channel_select_setup(-1, &rfds);
-    if (maxfd >= 0)
-    {
-	struct timeval  tv;
-
-	tv.tv_sec = 0;
-	tv.tv_usec = 0;
-	ret = select(maxfd + 1, &rfds, NULL, NULL, &tv);
-	if (ret > 0 && channel_select_check(ret, &rfds) > 0)
-	    return TRUE;
-    }
-    return FALSE;
-}
-#endif
-
 /*
  * Decode a MOUSE_EVENT.  If it's a valid event, return MOUSE_LEFT,
  * MOUSE_MIDDLE, or MOUSE_RIGHT for a click; MOUSE_DRAG for a mouse
@@ -1495,8 +1471,7 @@
 #endif
 
 #ifdef FEAT_CHANNEL
-	if (handle_channel_event())
-	    return TRUE;
+	channel_handle_events();
 #endif
 
 	if (0