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:25:33 +0000 |
| commit | 20fcf2bf95200c519f302a73a122beb0f148eb21 (patch) | |
| tree | ee5f13d3c5eabcd2187a7ed6df78a52146ecc8af | |
| parent | 2ea95889137bfb18096d6cd8243b8938a690a231 (diff) | |
| download | android_external_bash-20fcf2bf95200c519f302a73a122beb0f148eb21.tar.gz android_external_bash-20fcf2bf95200c519f302a73a122beb0f148eb21.tar.bz2 android_external_bash-20fcf2bf95200c519f302a73a122beb0f148eb21.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); |
