patch 8.0.1749: VMS: 100% CPU use, redefining mch_open() fails
Problem: VMS: 100% CPU use, redefining mch_open() and mch_fopen() fails.
Solution: Do not wait indefinitely in RealWaitForChar(). (Neil Rieck)
Do not redefine mch_open() and mch_fopen() on VMS. (Zoltan
Arpadffy)
diff --git a/src/os_vms.c b/src/os_vms.c
index 84f84ac..61db3a8 100644
--- a/src/os_vms.c
+++ b/src/os_vms.c
@@ -784,7 +784,7 @@
return 0;
} else if (msec < 0) {
/* no time-out; wait on indefinitely */
- continue;
+ return 1; /* fakeout to force a wait in vms_read() */
} else {
/* time-out needs to be checked */
status = sys$gettim(&time_curr);
diff --git a/src/version.c b/src/version.c
index 28a053a..5589204 100644
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1749,
+/**/
1748,
/**/
1747,
diff --git a/src/vim.h b/src/vim.h
index 4b41857..df396ec 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -2154,8 +2154,9 @@
# define number_width(x) 7
#endif
-/* This must come after including proto.h */
-#if !(defined(FEAT_MBYTE) && defined(WIN3264))
+/* This must come after including proto.h.
+ * For VMS this is defined in macros.h. */
+#if !(defined(FEAT_MBYTE) && defined(WIN3264)) && !defined(VMS)
# define mch_open(n, m, p) open((n), (m), (p))
# define mch_fopen(n, p) fopen((n), (p))
#endif