diff options
author | Chet Ramey <chet.ramey@case.edu> | 2019-11-25 00:38:07 +0100 |
---|---|---|
committer | Vasyl Gello <vasek.gello@gmail.com> | 2019-11-26 20:24:31 +0000 |
commit | 621fb366eddb890018e250f121b75246034defe6 (patch) | |
tree | 7636478186e4a632f5509f06824851e7e35d9c8f | |
parent | 0f26b8c14dfa59641bca34572f9c0767c8451363 (diff) | |
download | android_external_bash-621fb366eddb890018e250f121b75246034defe6.tar.gz android_external_bash-621fb366eddb890018e250f121b75246034defe6.tar.bz2 android_external_bash-621fb366eddb890018e250f121b75246034defe6.zip |
Bash-4.3 patch 45
If a file open attempted as part of a redirection fails because it is interrupted
by a signal, the shell needs to process any pending traps to allow the redirection
to be canceled.
Change-Id: I857ec38969bd8781737d3fdb9e5e2ac8c6208bdb
-rw-r--r-- | patchlevel.h | 2 | ||||
-rw-r--r-- | redir.c | 6 |
2 files changed, 6 insertions, 2 deletions
diff --git a/patchlevel.h b/patchlevel.h index 4b23f47..beea688 100644 --- a/patchlevel.h +++ b/patchlevel.h @@ -25,6 +25,6 @@ regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh looks for to find the patch level (for the sccs version string). */ -#define PATCHLEVEL 44 +#define PATCHLEVEL 45 #endif /* _PATCHLEVEL_H_ */ @@ -52,6 +52,7 @@ #include "flags.h" #include "execute_cmd.h" #include "redir.h" +#include "trap.h" #if defined (BUFFERED_INPUT) # include "input.h" @@ -671,7 +672,10 @@ redir_open (filename, flags, mode, ri) fd = open (filename, flags, mode); e = errno; if (fd < 0 && e == EINTR) - QUIT; + { + QUIT; + run_pending_traps (); + } errno = e; } while (fd < 0 && errno == EINTR); |