mirror of git://git.code.sf.net/p/zsh/code
33614 (based on RedHat BZ-978613): signal safety when updating global state in execshfunc()
This commit is contained in:
parent
c7ff843ecf
commit
7abd611a23
|
@ -1,3 +1,8 @@
|
|||
2014-11-06 Barton E. Schaefer <schaefer@zsh.org>
|
||||
|
||||
* 33614 (based on RedHat BZ-978613): Src/exec.c: signal safety
|
||||
when updating global state in execshfunc()
|
||||
|
||||
2014-11-05 Oliver Kiddle <opk@zsh.org>
|
||||
|
||||
* 33604: Src/Zle/zle_utils.c, Src/Zle/zle_vi.c, Test/X02zlevi.ztst:
|
||||
|
|
|
@ -4555,6 +4555,7 @@ execshfunc(Shfunc shf, LinkList args)
|
|||
fputc('\n', xtrerr);
|
||||
fflush(xtrerr);
|
||||
}
|
||||
queue_signals();
|
||||
ocs = cmdstack;
|
||||
ocsp = cmdsp;
|
||||
cmdstack = (unsigned char *) zalloc(CMDSTACKSZ);
|
||||
|
@ -4562,7 +4563,11 @@ execshfunc(Shfunc shf, LinkList args)
|
|||
if ((osfc = sfcontext) == SFC_NONE)
|
||||
sfcontext = SFC_DIRECT;
|
||||
xtrerr = stderr;
|
||||
unqueue_signals();
|
||||
|
||||
doshfunc(shf, args, 0);
|
||||
|
||||
queue_signals();
|
||||
sfcontext = osfc;
|
||||
free(cmdstack);
|
||||
cmdstack = ocs;
|
||||
|
@ -4570,6 +4575,7 @@ execshfunc(Shfunc shf, LinkList args)
|
|||
|
||||
if (!list_pipe)
|
||||
deletefilelist(last_file_list, 0);
|
||||
unqueue_signals();
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue