# HG changeset patch # User Christian Brabandt # Date 1524510007 -7200 # Node ID 0d199e59a98865c39e044af6e4e933860d0384b5 # Parent 5bc0ef8e60a14e0fc9dc88c2cbceb4efc53b6f59 patch 8.0.1749: VMS: 100% CPU use, redefining mch_open() fails commit https://github.com/vim/vim/commit/6537c421bb626ee92a2487a543e6287d33461bd0 Author: Bram Moolenaar Date: Mon Apr 23 20:46:16 2018 +0200 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 --- a/src/os_vms.c +++ b/src/os_vms.c @@ -784,7 +784,7 @@ RealWaitForChar( 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 --- a/src/version.c +++ b/src/version.c @@ -762,6 +762,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1749, +/**/ 1748, /**/ 1747, diff --git a/src/vim.h b/src/vim.h --- a/src/vim.h +++ b/src/vim.h @@ -2154,8 +2154,9 @@ typedef enum { # 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