Mercurial > vim
comparison src/os_unix.c @ 9262:c9f2b70feac0 v7.4.1914
commit https://github.com/vim/vim/commit/e429e70f050cb2941f1f8427cf918b68444c904e
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Jun 10 19:49:14 2016 +0200
patch 7.4.1914
Problem: Executing autocommands while using the signal stack has a high
chance of crashing Vim.
Solution: Don't invoke autocommands when on the signal stack.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 10 Jun 2016 20:00:07 +0200 |
parents | f8f41f4e0acd |
children | c665cc3292e0 |
comparison
equal
deleted
inserted
replaced
9261:2f6e4c902d86 | 9262:c9f2b70feac0 |
---|---|
1088 #endif | 1088 #endif |
1089 | 1089 |
1090 /* Remember how often we have been called. */ | 1090 /* Remember how often we have been called. */ |
1091 ++entered; | 1091 ++entered; |
1092 | 1092 |
1093 #ifdef FEAT_AUTOCMD | |
1094 /* Executing autocommands is likely to use more stack space than we have | |
1095 * available in the signal stack. */ | |
1096 block_autocmds(); | |
1097 #endif | |
1098 | |
1093 #ifdef FEAT_EVAL | 1099 #ifdef FEAT_EVAL |
1094 /* Set the v:dying variable. */ | 1100 /* Set the v:dying variable. */ |
1095 set_vim_var_nr(VV_DYING, (long)entered); | 1101 set_vim_var_nr(VV_DYING, (long)entered); |
1096 #endif | 1102 #endif |
1097 | 1103 |
1168 #endif | 1174 #endif |
1169 | 1175 |
1170 /* Preserve files and exit. This sets the really_exiting flag to prevent | 1176 /* Preserve files and exit. This sets the really_exiting flag to prevent |
1171 * calling free(). */ | 1177 * calling free(). */ |
1172 preserve_exit(); | 1178 preserve_exit(); |
1179 | |
1180 /* NOTREACHED */ | |
1173 | 1181 |
1174 #ifdef NBDEBUG | 1182 #ifdef NBDEBUG |
1175 reset_signals(); | 1183 reset_signals(); |
1176 may_core_dump(); | 1184 may_core_dump(); |
1177 abort(); | 1185 abort(); |