summaryrefslogtreecommitdiffstats
path: root/source/a/bash/bash-5.0-patches/bash50-005
diff options
context:
space:
mode:
Diffstat (limited to 'source/a/bash/bash-5.0-patches/bash50-005')
-rw-r--r--source/a/bash/bash-5.0-patches/bash50-005110
1 files changed, 0 insertions, 110 deletions
diff --git a/source/a/bash/bash-5.0-patches/bash50-005 b/source/a/bash/bash-5.0-patches/bash50-005
deleted file mode 100644
index 9b1cd75b0..000000000
--- a/source/a/bash/bash-5.0-patches/bash50-005
+++ /dev/null
@@ -1,110 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 5.0
-Patch-ID: bash50-005
-
-Bug-Reported-by: Brad Spencer <bspencer@blackberry.com>
-Bug-Reference-ID: <1b993ff2-ce4f-662a-6be4-393457362e47@blackberry.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2019-01/msg00250.html
-
-Bug-Description:
-
-In certain cases, bash optimizes out a fork() call too early and prevents
-traps from running.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-5.0-patched/command.h 2018-07-20 21:16:31.000000000 -0400
---- command.h 2019-02-20 11:09:36.000000000 -0500
-***************
-*** 187,190 ****
---- 188,192 ----
- #define CMD_LASTPIPE 0x2000
- #define CMD_STDPATH 0x4000 /* use standard path for command lookup */
-+ #define CMD_TRY_OPTIMIZING 0x8000 /* try to optimize this simple command */
-
- /* What a command looks like. */
-*** ../bash-5.0-patched/builtins/evalstring.c 2018-12-26 11:19:21.000000000 -0500
---- builtins/evalstring.c 2019-01-29 14:15:19.000000000 -0500
-***************
-*** 101,104 ****
---- 101,113 ----
- }
-
-+ int
-+ can_optimize_connection (command)
-+ COMMAND *command;
-+ {
-+ return (*bash_input.location.string == '\0' &&
-+ (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-+ command->value.Connection->second->type == cm_simple);
-+ }
-+
- void
- optimize_fork (command)
-***************
-*** 106,110 ****
- {
- if (command->type == cm_connection &&
-! (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR) &&
- should_suppress_fork (command->value.Connection->second))
- {
---- 115,120 ----
- {
- if (command->type == cm_connection &&
-! (command->value.Connection->connector == AND_AND || command->value.Connection->connector == OR_OR || command->value.Connection->connector == ';') &&
-! (command->value.Connection->second->flags & CMD_TRY_OPTIMIZING) &&
- should_suppress_fork (command->value.Connection->second))
- {
-***************
-*** 413,418 ****
- command->value.Simple->flags |= CMD_NO_FORK;
- }
-! else if (command->type == cm_connection)
-! optimize_fork (command);
- #endif /* ONESHOT */
-
---- 423,438 ----
- command->value.Simple->flags |= CMD_NO_FORK;
- }
-!
-! /* Can't optimize forks out here execept for simple commands.
-! This knows that the parser sets up commands as left-side heavy
-! (&& and || are left-associative) and after the single parse,
-! if we are at the end of the command string, the last in a
-! series of connection commands is
-! command->value.Connection->second. */
-! else if (command->type == cm_connection && can_optimize_connection (command))
-! {
-! command->value.Connection->second->flags |= CMD_TRY_OPTIMIZING;
-! command->value.Connection->second->value.Simple->flags |= CMD_TRY_OPTIMIZING;
-! }
- #endif /* ONESHOT */
-
-*** ../bash-5.0-patched/execute_cmd.c 2018-12-05 09:05:14.000000000 -0500
---- execute_cmd.c 2019-01-25 15:59:00.000000000 -0500
-***************
-*** 2768,2771 ****
---- 2768,2773 ----
- (exec_result != EXECUTION_SUCCESS)))
- {
-+ optimize_fork (command);
-+
- second = command->value.Connection->second;
- if (ignore_return && second)
-*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
---- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 4
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 5
-
- #endif /* _PATCHLEVEL_H_ */