diff src/misc2.c @ 10406:42911b233245 v8.0.0097

commit https://github.com/vim/vim/commit/833eb1d752426689051bf2001083359899536939 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Nov 24 17:22:50 2016 +0100 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.
author Christian Brabandt <cb@256bit.org>
date Thu, 24 Nov 2016 17:30:04 +0100
parents 66f1b5bf3fa6
children 56cb9538386c
line wrap: on
line diff
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -6263,3 +6263,34 @@ parse_queued_messages(void)
 # endif
 }
 #endif
+
+#ifdef ELAPSED_TIMEVAL  /* proto is defined in vim.h */
+/*
+ * Return time in msec since "start_tv".
+ */
+    long
+elapsed(struct timeval *start_tv)
+{
+    struct timeval  now_tv;
+
+    gettimeofday(&now_tv, NULL);
+    return (now_tv.tv_sec - start_tv->tv_sec) * 1000L
+	 + (now_tv.tv_usec - start_tv->tv_usec) / 1000L;
+}
+#endif
+
+#ifdef ELAPSED_TICKCOUNT
+/*
+ * Return time in msec since "start_tick".
+ */
+    long
+elapsed(DWORD start_tick)
+{
+    DWORD	now = GetTickCount();
+
+    if (now < start_tick)
+	/* overflow */
+	return (long)now;
+    return (long)now - (long)start_tick;
+}
+#endif