diff options
| author | Barton E. Schaefer <schaefer@zsh.org> | 2017-01-29 08:30:14 -0800 |
|---|---|---|
| committer | Barton E. Schaefer <schaefer@zsh.org> | 2017-01-29 08:30:14 -0800 |
| commit | e51c9c17af51e4055efb5a2cc36739d1d7ae457f (patch) | |
| tree | b77de131860f9f0d48ed0604d095a82c59665a1a /Src/loop.c | |
| parent | 40439: PAT_HEAPDUP definition just for clarity (diff) | |
| download | zsh-e51c9c17af51e4055efb5a2cc36739d1d7ae457f.tar zsh-e51c9c17af51e4055efb5a2cc36739d1d7ae457f.tar.gz zsh-e51c9c17af51e4055efb5a2cc36739d1d7ae457f.tar.bz2 zsh-e51c9c17af51e4055efb5a2cc36739d1d7ae457f.tar.lz zsh-e51c9c17af51e4055efb5a2cc36739d1d7ae457f.tar.xz zsh-e51c9c17af51e4055efb5a2cc36739d1d7ae457f.tar.zst zsh-e51c9c17af51e4055efb5a2cc36739d1d7ae457f.zip | |
40453: signal handler safety for callers of patcompile(PAT_STATIC), which is not re-entrant.
Diffstat (limited to 'Src/loop.c')
| -rw-r--r-- | Src/loop.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Src/loop.c b/Src/loop.c index ae87b2f5f..f7eae307b 100644 --- a/Src/loop.c +++ b/Src/loop.c @@ -620,7 +620,9 @@ execcase(Estate state, int do_exec) spprog = state->prog->pats + npat; pprog = NULL; pat = NULL; - + + queue_signals(); + if (isset(XTRACE)) { int htok = 0; pat = dupstring(ecrawstr(state->prog, state->pc, &htok)); @@ -657,6 +659,8 @@ execcase(Estate state, int do_exec) patok = anypatok = 1; state->pc += 2; nalts--; + + unqueue_signals(); } state->pc += 2 * nalts; if (isset(XTRACE)) { |
