diff options
author | Bram Moolenaar <Bram@vim.org> | 2018-11-12 21:45:08 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2018-11-12 21:45:08 +0100 |
commit | 61fb8d8c6719205c686550e591db22aa97b4db4c (patch) | |
tree | ecdcb54198c3260776ee2b2270efc68f25008a8d | |
parent | d3471e578506d5554ab99c4cd08af2a021c4f461 (diff) | |
download | vim-git-61fb8d8c6719205c686550e591db22aa97b4db4c.tar.gz |
patch 8.1.0526: running out of signal stack in RealWaitForCharv8.1.0526
Problem: Running out of signal stack in RealWaitForChar. (Vladimir Marek)
Solution: Make the fd_set variables static.
-rw-r--r-- | src/os_unix.c | 4 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/os_unix.c b/src/os_unix.c index 94e1a5357..4d902d939 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -6194,7 +6194,9 @@ RealWaitForChar(int fd, long msec, int *check_for_gpm UNUSED, int *interrupted) struct timeval tv; struct timeval *tvp; - fd_set rfds, wfds, efds; + // These are static because they can take 8 Kbyte each and cause the + // signal stack to run out with -O3. + static fd_set rfds, wfds, efds; int maxfd; long towait = msec; diff --git a/src/version.c b/src/version.c index 252d047c6..d3a427ae1 100644 --- a/src/version.c +++ b/src/version.c @@ -793,6 +793,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 526, +/**/ 525, /**/ 524, |