patch 8.0.0097
Problem: When a channel callback consumes a lot of time Vim becomes
unresponsive. (skywind)
Solution: Bail out of checking channel readahead after 100 msec.
diff --git a/src/vim.h b/src/vim.h
index eec3e4f..c91e52b 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -2503,4 +2503,20 @@
# define OPEN_CHR_FILES
#endif
+#if defined(HAVE_GETTIMEOFDAY) && defined(HAVE_SYS_TIME_H)
+# define ELAPSED_TIMEVAL
+# define ELAPSED_INIT(v) gettimeofday(&v, NULL)
+# define ELAPSED_FUNC(v) elapsed(&v)
+# define ELAPSED_TYPE struct timeval
+ long elapsed(struct timeval *start_tv);
+#else
+# if defined(WIN32)
+# define ELAPSED_TICKCOUNT
+# define ELAPSED_INIT(v) v = GetTickCount
+# define ELAPSED_FUNC(v) elapsed(v)
+# define ELAPSED_TYPE DWORD
+ long elapsed(DWORD start_tick);
+# endif
+#endif
+
#endif /* VIM__H */