]> granicus.if.org Git - vim/commitdiff
patch 8.1.0526: running out of signal stack in RealWaitForChar v8.1.0526
authorBram Moolenaar <Bram@vim.org>
Mon, 12 Nov 2018 20:45:08 +0000 (21:45 +0100)
committerBram Moolenaar <Bram@vim.org>
Mon, 12 Nov 2018 20:45:08 +0000 (21:45 +0100)
Problem:    Running out of signal stack in RealWaitForChar. (Vladimir Marek)
Solution:   Make the fd_set variables static.

src/os_unix.c
src/version.c

index 94e1a535735fae5196c6a0e37f89bac06669ffc9..4d902d93950f30b8a802be9604c24e29ae82b63a 100644 (file)
@@ -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;
 
index 252d047c68c0f0266ac6b92c47c1c520037bd040..d3a427ae1987fac5ccb67dd8d56d12453d4c991b 100644 (file)
@@ -792,6 +792,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    526,
 /**/
     525,
 /**/